JP2012119009A5 - 選択演算を実行するプロセッサ - Google Patents

選択演算を実行するプロセッサ Download PDF

Info

Publication number
JP2012119009A5
JP2012119009A5 JP2012015834A JP2012015834A JP2012119009A5 JP 2012119009 A5 JP2012119009 A5 JP 2012119009A5 JP 2012015834 A JP2012015834 A JP 2012015834A JP 2012015834 A JP2012015834 A JP 2012015834A JP 2012119009 A5 JP2012119009 A5 JP 2012119009A5
Authority
JP
Japan
Prior art keywords
item
data
packed
operand
register
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
JP2012015834A
Other languages
English (en)
Other versions
JP5709775B2 (ja
JP2012119009A (ja
Filing date
Publication date
Priority claimed from US11/526,065 external-priority patent/US20080077772A1/en
Application filed filed Critical
Publication of JP2012119009A publication Critical patent/JP2012119009A/ja
Publication of JP2012119009A5 publication Critical patent/JP2012119009A5/ja
Application granted granted Critical
Publication of JP5709775B2 publication Critical patent/JP5709775B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

上述した説明は、本発明の好適な実施形態を説明することを目的とする。また、上述の説明から、成長が速く、更なる発展を容易に予測することができないこのような技術分野において、本発明は、請求項の範囲内の本発明の原理から逸脱することなく当業者によって構成および細部が変更されうることは明らかであるべきである。
上述した説明によれば、以下の各項目に示す発明もまた開示される。
(項目1)
一の第1の複数ビットオペランドを示す一の第1のフィールドと、一の第2の複数ビットオペランドを示す一の第2のフィールドとを含む一の命令形式である一の命令コードを受信する工程と、
前記第1のオペランドに関連付けられる一の符号ビットが前記第1のオペランドにおける1つ以上のデータ要素に対して非ゼロである場合に、前記符号ビットに応答して前記第2のオペランドを変更する工程と、
を含む方法。
(項目2)
前記符号ビットがゼロである場合に、前記第2のオペランドのデータ要素を変更しない工程をさらに含む項目1に記載の方法。
(項目3)
前記第1のオペランドはさらに、それぞれNビットの長さを有する、データ要素として少なくともA1およびA2を含む第1の複数のデータ要素を含み、
前記第2のオペランドはさらに、それぞれNビットの長さを有する少なくともB1およびB2を含む第2の複数データ要素を含む、項目2に記載の方法。
(項目4)
前記符号ビットは、前記第1のオペランドの前記データ要素の即値フィールドに格納される一の即値ビットである項目3に記載の方法。
(項目5)
前記符号ビットは、前記第1のオペランドに関連付けられる一の第3のオペランドにおける最上位ビットである項目3に記載の方法。
(項目6)
前記第3のオペランドは、一の暗黙のレジスタである項目5に記載の方法。
(項目7)
前記符号ビットは、前記第1のオペランドと前記第2のオペランド間のデータの流れを制御する項目1に記載の方法。
(項目8)
前記符号ビットが非ゼロである場合に、前記第1のオペランドからの第1のデータ要素を前記第2のオペランドに格納する工程をさらに含む項目2に記載の方法。
(項目9)
前記第1のオペランドおよび前記第2のオペランドはそれぞれ128ビットを含む項目1に記載の方法。
(項目10)
前記Nは、64である項目3に記載の方法。
(項目11)
前記1つ以上のデータ要素は、パックドバイトとして処理される項目1に記載の方法。
(項目12)
前記1つ以上のデータ要素は、パックドワードとして処理される項目1に記載の方法。
(項目13)
前記1つ以上のデータ要素は、ダブルワードとして処理される項目1に記載の方法。
(項目14)
前記1つ以上のデータ要素は、クワドワードとして処理される項目1に記載の方法。
(項目15)
一の実行ユニットと、
データを含む一のマシンアクセス可能媒体と、
を含み、
前記データは、前記実行ユニットによりアクセスされると、前記実行ユニットに項目1に記載の方法を実行させる、項目1に記載の方法を実行する装置。
(項目16)
一の第1のデータを受信する一の第1の入力と、
前記第1のデータと同じビット数を含む一の第2のデータを受信する一の第2の入力と、
一の第1のプロセッサ命令に応答して、一の制御ビットに基づいて一の第1のオペランドから一の第1のデータ要素を選択する一の回路と、
を含み、
前記制御ビットは、前記制御ビットが非ゼロである場合に、前記第1のデータ要素を選択する、装置。
(項目17)
前記選択された第1のデータ要素は、一の第2のオペランドにコピーされる項目16に記載の装置。
(項目18)
前記制御ビットは、一の符号ビットである項目16に記載の装置。
(項目19)
前記制御ビットは、前記第1のオペランドの前記第1のデータ要素の即値フィールドに格納される一の即値ビットである項目17に記載の装置。
(項目20)
前記符号ビットは、前記第1のオペランドに関連付けられる一の第3のオペランドにおける最上位ビットである項目17に記載の装置。
(項目21)
前記第3のオペランドは、一の暗黙のレジスタである項目20に記載の装置。
(項目22)
前記第1のデータおよび前記第2のデータはそれぞれ少なくとも128ビットのデータを含む項目16に記載の装置。
(項目23)
前記第1のデータはさらに、少なくとも2つのデータ要素を含む項目16に記載の装置。
(項目24)
前記データ要素はそれぞれ64ビットを含む項目23に記載の装置。
(項目25)
前記第1のデータはさらに、少なくとも4つのデータ要素を含む項目16に記載の装置。
(項目26)
前記データ要素はそれぞれ32ビットを含む項目25に記載の装置。
(項目27)
前記第1のデータはさらに、少なくとも8つのデータ要素を含む項目16に記載の装置。
(項目28)
前記データ要素はそれぞれ16ビットを含む項目27に記載の装置。
(項目29)
前記第1のデータはさらに、少なくとも16のデータ要素を含む項目16に記載の装置。
(項目30)
前記データ要素はそれぞれ8ビットを含む項目29に記載の装置。
(項目31)
データを格納するようアドレス指定可能な一のメモリと、
一の制御ビットを格納するよう構造的に可視である一のストレージ領域を含む一のプロセッサと、
一のNビットソースオペランドを指定する一の第1のフィールドと、一のNビットデスティネーションオペランドを指定する一の第2のフィールドとを有する一の命令を復号化する一のデコーダと、
前記デコーダによる前記命令の復号化に応答して、一の制御ビットに基づいて前記ソースオペランドから一の第1のデータ要素を選択する一の実行ユニットと、
を含み、
前記制御ビットは、前記制御ビットが非ゼロである場合に、前記第1のデータ要素を選択する、コンピュータシステム。
(項目32)
前記Nは、128である項目31に記載のコンピュータシステム。
(項目33)
前記プロセッサは、前記デスティネーションオペランドに前記第1のデータ要素を格納する項目31に記載のコンピュータシステム。
(項目34)
前記制御ビットは、前記第1のデータ要素における一の即値ビットである項目31に記載のコンピュータシステム。
(項目35)
前記制御ビットは、一の第3のオペランドにおける最上位ビットである項目31に記載のコンピュータシステム。
(項目36)
前記第3のオペランドは、一の暗黙のレジスタである項目35に記載のコンピュータシステム。

Claims (3)

  1. データを格納するキャッシュと、
    ランダムアクセスメモリをアクセスするためのメモリコントローラと、
    命令をデコードする命令デコーダと、
    128ビットのパックドデータレジスタの組を有し、各レジスタが複数のパックド単精度浮動小数点データ要素を格納するレジスタファイルと、
    ソースのパックドデータレジスタを指定する少なくとも1つのソースオペランド、およびデスティネーションのパックドデータレジスタを指定する少なくとも1つのデスティネーションオペランドを含む第1命令を実行して、ソースのパックドデータレジスタからデスティネーションのパックドデータレジスタへと第1データ値を格納する実行ユニットと、
    を備えるプロセッサ。
  2. 前記レジスタファイルは、パックド整数データ要素を格納する請求項1に記載のプロセッサ。
  3. 前記パックド整数データ要素は、パックドバイト、パックドハーフワード、およびパックドワードを含む複数種類のパックドデータフォーマットにより格納される請求項2に記載のプロセッサ。
JP2012015834A 2006-09-22 2012-01-27 選択演算を実行するプロセッサ Active JP5709775B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/526,065 2006-09-22
US11/526,065 US20080077772A1 (en) 2006-09-22 2006-09-22 Method and apparatus for performing select operations

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007245615A Division JP5383021B2 (ja) 2006-09-22 2007-09-21 選択演算を実行する方法および装置

Publications (3)

Publication Number Publication Date
JP2012119009A JP2012119009A (ja) 2012-06-21
JP2012119009A5 true JP2012119009A5 (ja) 2013-08-22
JP5709775B2 JP5709775B2 (ja) 2015-04-30

Family

ID=39226408

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007245615A Expired - Fee Related JP5383021B2 (ja) 2006-09-22 2007-09-21 選択演算を実行する方法および装置
JP2012015834A Active JP5709775B2 (ja) 2006-09-22 2012-01-27 選択演算を実行するプロセッサ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007245615A Expired - Fee Related JP5383021B2 (ja) 2006-09-22 2007-09-21 選択演算を実行する方法および装置

Country Status (7)

Country Link
US (1) US20080077772A1 (ja)
JP (2) JP5383021B2 (ja)
KR (1) KR20090042333A (ja)
CN (4) CN102915226A (ja)
BR (1) BRPI0718446A2 (ja)
DE (2) DE112007003786A5 (ja)
WO (1) WO2008039354A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747105B2 (en) 2009-12-17 2017-08-29 Intel Corporation Method and apparatus for performing a shift and exclusive or operation in a single instruction
US20120254588A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian Systems, apparatuses, and methods for blending two source operands into a single destination using a writemask
US10209986B2 (en) 2011-12-22 2019-02-19 Intel Corporation Floating point rounding processors, methods, systems, and instructions
US10037205B2 (en) 2011-12-23 2018-07-31 Intel Corporation Instruction and logic to provide vector blend and permute functionality
US9395988B2 (en) 2013-03-08 2016-07-19 Samsung Electronics Co., Ltd. Micro-ops including packed source and destination fields
US9411600B2 (en) * 2013-12-08 2016-08-09 Intel Corporation Instructions and logic to provide memory access key protection functionality
US20170177350A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Instructions and Logic for Set-Multiple-Vector-Elements Operations
US10120680B2 (en) * 2016-12-30 2018-11-06 Intel Corporation Systems, apparatuses, and methods for arithmetic recurrence
CN111078291B (zh) * 2018-10-19 2021-02-09 中科寒武纪科技股份有限公司 运算方法、系统及相关产品

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275834B1 (en) * 1994-12-01 2001-08-14 Intel Corporation Apparatus for performing packed shift operations
US5996066A (en) * 1996-10-10 1999-11-30 Sun Microsystems, Inc. Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions
US6173393B1 (en) * 1998-03-31 2001-01-09 Intel Corporation System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data
US6484255B1 (en) * 1999-09-20 2002-11-19 Intel Corporation Selective writing of data elements from packed data based upon a mask using predication
JP2001142694A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd データフィールドのエンコード方法、情報フィールドの拡張方法、及び、コンピュータシステム
US7155601B2 (en) * 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
US20040054877A1 (en) * 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7853778B2 (en) * 2001-12-20 2010-12-14 Intel Corporation Load/move and duplicate instructions for a processor
US7441104B2 (en) * 2002-03-30 2008-10-21 Hewlett-Packard Development Company, L.P. Parallel subword instructions with distributed results
GB2409063B (en) * 2003-12-09 2006-07-12 Advanced Risc Mach Ltd Vector by scalar operations
GB2414308B (en) * 2004-05-17 2007-08-15 Advanced Risc Mach Ltd Program instruction compression

Similar Documents

Publication Publication Date Title
JP2012119009A5 (ja) 選択演算を実行するプロセッサ
CN109471659B (zh) 使用写掩码将两个源操作数混合进单个目的地的系统、装置和方法
TWI476684B (zh) 於電腦處理器中執行聚集跨步指令及分散跨步指令之方法及設備
KR102539893B1 (ko) 다차원 어레이로부터 요소들의 다차원 블록을 프리페치하는 하드웨어 장치들 및 방법들
KR101597774B1 (ko) 마스킹된 전체 레지스터 액세스들을 이용한 부분적 레지스터 액세스들을 구현하기 위한 프로세서들, 방법들 및 시스템들
JP2015164061A5 (ja)
TWI463332B (zh) 在單一指令多資料之資料處理器中提供擴充尋址模式
JP6466388B2 (ja) 方法及び装置
CN103562854B (zh) 用于对齐寄存器的系统、装置和方法
JP5789319B2 (ja) 複数データ要素対複数データ要素比較プロセッサ、方法、システム、および命令
KR20170097008A (ko) 벡터 요소 세트에 대해 축소 연산을 수행하기 위한 방법 및 장치
JP2010504594A5 (ja)
US9772849B2 (en) Four-dimensional morton coordinate conversion processors, methods, systems, and instructions
US20120254593A1 (en) Systems, apparatuses, and methods for jumps using a mask register
JP2017509064A (ja) マスクド結果要素に伝搬する対応アンマスクド結果要素にソース要素を記憶するプロセッサ、方法、システム、及び命令
US20170242697A1 (en) System and Method for Executing an Instruction to Permute a Mask
WO2016077019A1 (en) Three-dimensional morton coordinate conversion processors, methods, systems, and instructions
JP2021051727A (ja) グラフアプリケーション内の圧縮されたリストに効率的にアクセスするための間接参照のロード及びストアへのisaサポートのシステム及び方法
CN108292228B (zh) 用于基于通道的步进收集的系统、设备和方法
CN103336681B (zh) 针对采用变长指令集的流水线结构处理器的取指方法
JP6773378B2 (ja) 3d座標から3dのz曲線インデックスを計算するための機械レベル命令
CN107851022B (zh) 向量长度查询指令
CN107851015B (zh) 向量操作数位大小控制
US20120260062A1 (en) System and method for providing dynamic addressability of data elements in a register file with subword parallelism
US10496411B2 (en) Functional unit for instruction execution pipeline capable of shifting different chunks of a packed data operand by different amounts