ある時点では 1 つ以上のx86プロセッサに文書化された命令として存在していたが、その命令を含むプロセッサ シリーズが廃止または置き換えられており、その命令を再導入する計画は知られていない命令。
インテル説明書
386 さん説明書
以下の命令は Intel 80386 で導入されましたが、後に廃止されました。
アイタニウム説明書
これらの命令は、x86 のハードウェア サポートを備えた初期の Intel Itanium プロセッサの x86 動作モードにのみ存在します。このサポートは「Merced」で追加され、「Montecito」で削除され、ソフトウェア エミュレーションに置き換えられました。
MPX の指示
これらの命令は、第 6 世代 Intel Core 「Skylake」 CPUで導入されました。これらをサポートする最後の CPU 世代は、第 9 世代 Core「Coffee Lake」CPU でした。
Intel MPX は、それぞれにアドレスのペアが含まれる 4 つの新しいレジスタ (BND0 から BND3) を追加します。また、MPX は、上限/下限のセットを含むメモリ内の 2 レベルのディレクトリ/テーブル データ構造として境界テーブルを定義します。
- ^ すべての MPX 命令では、16 ビット アドレッシングは許可されていません。これにより、アドレス サイズ オーバーライド プレフィックスは
67h16 ビット モードでは必須となり、32 ビット モードでは禁止されます。64 ビット モードでは、67hMPX 命令のプレフィックスは無視されます。アドレス サイズは常に 64 ビットです。これらの動作は MPX 命令に固有のものです。 - ^ 64 ビット モードでは
BNDMK、RIP 相対アドレス指定は許可されず、#UD が発生します。 - ^ ab および命令では、SIB バイトを使用するメモリ アドレッシング モードが必要です。SIB 以外のアドレッシング モードでは #UD が発生します。
BNDLDXBNDSTX - ^ ab および命令は、境界ディレクトリ エントリが有効でない場合 (アドレス変換が妨げられる)、#BR 例外を生成します。
BNDLDXBNDSTX - ^ プレフィックスを受け入れることができる分岐命令は、 (オペコードと)、(オペコードと)、(オペコードと)、および命令のショート/ニア形式(オペコードと)
BNDです。BNDPRESERVE 構成ビットが設定されていない場合、プレフィックスなしでこれらの分岐命令のいずれかを実行すると、4 つの境界レジスタがすべてクリアされます。(その他の分岐命令 (たとえば、ファージャンプ、ショートジャンプ ( )、など) は、プレフィックスの有無にかかわらず、境界レジスタをクリアしません。)JMPE9FF /4CALLE8FF /2RETC2C3Jcc70..7F0F 80..8FBNDEBLOOPIRETF2h
ハードウェアロックの省略
Intel TSXのハードウェアロック除去機能は、Intel SDMでは2019年以降削除済みとマークされています。[2]XACQUIREこの機能は、と2つの命令プレフィックスの形をとり、XRELEASEメモリアトミック/ストアに添付して、それらが表すメモリロックを除去できます。
VP2Intersect の手順
VP2INTERSECT命令(AVX-512のサブセット)はTiger Lake(第11世代モバイルCoreプロセッサ)で導入されましたが、他のIntelプロセッサでは正式にサポートされていませんでした。現在では非推奨とみなされており[3]、Intel SDMでは2023年以降削除されると記載されています。[2]
2024年7月現在、VP2INTERSECT命令はAMD Zen 5プロセッサに再導入されています。[4]
Xeon Phiプロセッサ固有の命令
「ナイツコーナー」の説明
第一世代のXeon Phiプロセッサ (コード名「Knights Corner」(KNC)) は、それ以降の x86 プロセッサには見られない多数の命令をサポートしていました。命令リファレンスが利用可能です[5] − KNC に固有の命令/オペコードは、VEX および MVEX プレフィックスが付いたものです ( KMOV、KNOTおよびKORTEST命令を除く − これらは AVX-512 でも同じオペコードと機能を維持していますが、命令名に「W」が追加されています)。
これらの KNC 固有の命令のほとんどはAVX-512の命令と似ていますが、同一ではありません。後の Xeon Phi プロセッサでは、これらの命令が AVX-512 に置き換えられました。
AVX-512 の初期バージョンでは、KNC の MVEX プレフィックスで使用される命令エンコーディングが回避されていましたが、2023 年に Intel APX ( Advanced Performance Extensions ) が導入されたことで、古い KNC MVEX 命令エンコーディングの一部が新しい APX エンコーディングに再利用されています。たとえば、KNC と APX はどちらも命令エンコーディングを62 F1 79 48 6F 04 C1有効なものとして受け入れますが、それに異なる意味を割り当てます。
- KNC:
VMOVDQA32 zmm0, k0, xmmword ptr [rcx+rax*8]{uint8}- データ変換によるベクトルロード - APX:
VMOVDQA32 zmm0, [rcx+r16*8]- 新しい APX 拡張の 1 つを使用したベクトル ロード -スケール インデックスとして使用されるGPR
「ナイツランディング」と「ナイツミル」の説明
Xeon Phi「Knights Landing」以降のモデルの AVX-512 命令の一部は、AVX-512サブセット「AVX512ER」、「AVX512_4FMAPS」、「AVX512PF」、および「AVX512_4VNNIW」に属しており、これらはすべて Xeon Phi シリーズのプロセッサに固有のものです。ER および PF サブセットは「Knights Landing」で導入され、4FMAPS および 4VNNIW 命令は後に「Knights Mill」で追加されました。
ER 命令と 4FMAPS 命令は、すべて特定のパターンに従う浮動小数点演算命令です。
- EVEX.W は浮動小数点形式を指定するために使用されます (0=FP32、1=FP64)
- 最下位のオペコードビットは、パック演算とスカラー演算を選択するために使用されます(0:パック、1:スカラー)
- 特定の操作では、すべてのスカラー/パック バリアントは同じ AVX-512 サブセットに属します。
- すべての命令は、opmask レジスタによる結果のマスキングをサポートします。AVX512ER 命令はすべて、メモリ オペランドのブロードキャストもサポートします。
- サポートされるベクトル幅は 512 ビットのみです。
- ^ abc AVX512ER命令については、数値的に正確な参照がCコードとして利用可能です。[6]
AVX512PF 命令は、16 個のプリフェッチ命令のセットです。これらの命令はすべて VSIB エンコーディングを使用します。このエンコーディングでは、SIB バイトを使用するメモリ アドレッシング モードが必要であり、SIB バイトのインデックス部分は、GPR レジスタ ファイルではなく AVX512 ベクトル レジスタ ファイルにインデックス付けするために取得されます。選択された AVX512 ベクトル レジスタは、インデックスのベクトルとして解釈され、各ベクトル レーンに対して標準の x86 ベース + インデックス + 変位アドレス計算が実行され、アクティブなレーンごとに 1 つの関連するメモリ操作 (AVX512PF 命令の場合はプリフェッチ) が実行されます。命令エンコーディングはすべて、次のパターンに従います。
- EVEX.Wは、プリフェッチ可能なデータの形式を指定するために使用されます(0:FP32、1:FP64)
- オペコードの下位ビットは、AVX512 インデックス レジスタが 16 個の符号付き 32 ビット インデックス (ビット 0 が設定されていない) のベクトルであるか、8 個の符号付き 64 ビット インデックス (ビット 0 が設定されている) のベクトルであるかを示すために使用されます。
- すべての命令は、opmask レジスタによる操作のマスキングをサポートします。
- サポートされるベクトル幅は 512 ビットのみです。
AVX512_4VNNIW 命令は、メモリから 4 つの 2 成分ベクトル (各成分は符号付き 16 ビット) を含む 128 ビットのデータ項目を読み取ります。次に、連続する 4 つの AVX-512 レジスタごとに、各 32 ビット レーンを 2 成分ベクトル (符号付き 16 ビット) として解釈し、メモリから読み取られた対応する 2 成分ベクトルとのドット積を実行します (メモリからの最初の 2 成分ベクトルは最初の AVX-512 ソース レジスタに使用され、以下同様です)。これらの結果は、宛先ベクトル レジスタに蓄積されます。
Xeon Phi プロセッサ (Knights Landing 以降) にもこのPREFETCHWT1 m8命令 (opcode 0F 0D /2、書き込み目的で L2 キャッシュにプリフェッチ) が搭載されていました。これらはこの命令を公式にサポートする唯一の Intel CPU でしたが、一部の非 Intel プロセッサ ( Zhaoxin YongFeng など) でも引き続きサポートされています。
アム説明書
アム386SMM の説明
システム管理モードをサポートする命令がAm386SXLVおよびAm386DXLVプロセッサにいくつか導入されました。 [7] [8]これらは、後のAm486SXLV/DXLVおよびElan SC300/310プロセッサにも搭載されました。[9]
これらのプロセッサのSMM機能は、有効なライセンスなしでIntel ICE マイクロコードを使用して実装されたため、1994年後半にAMDが敗訴しました。 [10]この敗訴の結果、ICEマイクロコードはそれ以降のすべてのAMD CPUから削除され、SMM命令も削除されました。
これらのSMM命令は、 IBM 386SLCとその派生製品(ただし、LOADALLのようなSMM戻りオペコードで0F 07ある)にも存在したICERET。[12] [14] [11]また、UMC U5Sプロセッサにも存在した。[15]
3DNow! の説明
3DNow! 命令セット拡張は AMD K6-2で導入され、主に MMX レジスタ (64 ビット ベクター レジスタ内の 2 つのFP32コンポーネント) を使用した浮動小数点 SIMD 命令のサポートが追加されました。命令は主に AMD によって推進されましたが、一部の AMD 以外の CPU でもサポートされていました。3DNow! をサポートするプロセッサは次のとおりです。
- AMD K6-2、K6-III、およびK7、K8、K10マイクロアーキテクチャに基づくすべてのプロセッサ。( Bulldozer、Bobcat、Zenなどの後期 AMD マイクロアーキテクチャは3DNow をサポートしていません。)
- IDT WinChip 2 および 3
- VIA Cyrix III (「Joshua」と「Samuel」の両方のバリエーション)、およびVIA C3の「Samuel」と「Ezra」リビジョン。(C3「Nehemiah」以降の VIA CPU では、3DNow! が廃止され、代わりにSSEが採用されました。)
- National Semiconductor Geode GX2、AMD Geode GX および LX。
- ^ 3DNow! の精度要件は、次のようなさまざまな方法で満たすことができます。
- AMD K6-2では、、
PFRCPIT1命令PFRSQIT1はニュートン・ラプソンPFRCPIT2反復法のさまざまな部分を実行し、 /からの低精度の初期結果の精度を向上させます。[17]PFRCPPFRSQRT - AMD Geode LXでは、
PFRCPおよび命令は代わりに完全な24ビット精度で結果を計算するようになりました。これにより、、および命令を純粋なデータ移動命令に変換し、と同じ操作を実行することPFRSQRTが可能になりました。[18]PFRCPIT1PFRSQIT1PFRCPIT2MOVQ
- AMD K6-2では、、
- ^ 3DNow!
PMULHRW命令は Cyrix EMMIPMULHRW命令と同じニーモニックを持ちますが、オペコードと機能は異なります (EMMI 命令は乗算結果を 15 ビット右シフトしますが、3DNow! 命令は 16 ビット右シフトします)。NASM などの一部のアセンブラ/逆アセンブラでは、
PMULHRWA3DNow! 命令とPMULHRWCEMMI 命令のニーモニックを使用してこの曖昧さを解決します。 - ^ この命令は、命令実行後に FP/MMX レジスタの内容を未定義にする点で
FEMMS標準の MMX 命令と異なります。EMMSFEMMS
PREFETCH m83DNow! では、 (opcode 0F 0D /0) とPREFETCHW m8(opcode )という 2 つのプリフェッチ命令も導入されました0F 0D /1。これらの命令は、3DNow! の他の命令とは異なり、廃止されておらず、最新の AMD CPU で引き続きサポートされています。この命令は、 65 nmPREFETCHW Pentium 4以降の Intel CPU でもサポートされていますが、[19] Broadwellまでは NOP として実行されていました。
- ^ ab および の手順は、オリジナルの K6-2 にも文書化されていない手順として存在していました。
PF2IWPI2FWK6-2の文書化されていない変種では、
PF2IW各32ビット結果レーンの上位16ビットをすべて0に設定しますが、後のプロセッサで文書化された変種では、16ビットの結果を32ビットに符号拡張します。[20] [21] - ^ この
PSWAPD命令は、古い文書化されていないK6-2PSWAPW命令と同じオペコードを使用します。[21]
3DNow!の指示ジオードGXおよびLX
SSE5派生命令
SSE5はAMDが提案したSSE拡張であり、新しい「DREX」命令エンコーディングを使用して、SSEに新しい3オペランドおよび4オペランド命令のサポートを追加しました。[22]このバンドルにはIntelのSSE4命令の完全なセットが含まれていなかったため、SSE4の後継ではなく競合製品となりました。
AMDは、当初提案されたSSE5を実装しないことを選択しました。代わりに、FMA4とXOP [23]に作り直されました。これらは同様の機能を提供しましたが、命令エンコーディングが全く異なり、 FMA4命令にはVEXプレフィックスを使用し、残りのほとんどの命令には新しいVEXのようなXOPプレフィックスを使用しました。
ゼップ説明書
Bulldozer プロセッサ コアで導入されましたが、Zen (マイクロアーキテクチャ)以降では再び削除されました。
SSE5 命令セットの大部分の改訂版。
XOP 命令は主に、次のレイアウトを持つ 3 バイトのプレフィックスである XOP プレフィックスを使用します。
どこ:
- 上線は反転したビットを示します。
- R/X/B ビットは、REX プレフィックスの RXB ビットに似た引数拡張ビットです。
- mmmmm は、オペコード マップ指定子です。8 から 31 までの値をエンコードできますが (値 0 から 7 は、古い命令のModR/Mエンコード バリアントにマップされる
POPため、XOP では使用できません)、マップ8、9および0Ahのみが使用されていました。88ビットの即値を取る命令の場合はmap9、即値を受け取らない命令の場合は map 、0Ah32 ビットの即値を取る命令の場合は map です。 - W はいくつかの異なる方法で使用されます:
- XOP ベクトル命令の場合、W は命令の最後の 2 つのベクトル ソース引数を交換するために使用されます。W=1 を許可する命令の場合、W=0 のエンコードでは最後から 2 番目のベクトル引数をメモリ引数にすることができ、W=1 のエンコードでは最後のベクトル引数をメモリ引数にすることができます。最後の 2 つのベクトル引数を交換できない命令の場合、W は 0 である必要があります。
- XOP エンコードされた整数レジスタ命令 (TBM および LWP 命令セット拡張、下記参照) の場合、オペランド サイズには W が使用されます。(0 = 32 ビット、1 = 64 ビット)
- vvvv は追加のソース レジスタ引数であり、通常は 3 つ以上のレジスタ引数を持つ命令の最初の非 r/m ソース引数です。
- L はベクトルの長さ指定子です。L=1 は 256 ビット演算を示し、L=0 はスカラーまたは 128 ビット演算を示します。
- pp は埋め込まれたプレフィックスです。通常は 0/1/2/3=none/66h/F2h/F3h ですが、XOP プレフィックスに定義された命令では 0 のみが使用されました。
XOP プレフィックスでエンコードされた XOP 命令は次のとおりです。
- ^ abcdefgh 各
VPCOM*命令には、imm8 引数でエンコード可能な 8 つの比較関数のそれぞれに 1 つずつ、一連のエイリアス ニーモニックが用意されています。これらのエイリアス ニーモニックは、ニーモニックの "VPCOM" 部分の後に実行する比較を指定します。例:VPCOMEQB xmm1,xmm2,xmm3はの別名ですVPCOMB xmm1,xmm2,xmm3,4VPCOMFALSEUQ xmm1,xmm2,[ebx]はの別名ですVPCOMUQ xmm1,xmm2,[ebx],6
XOP には、XOP プレフィックスの代わりに VEX プレフィックスを使用する 2 つのベクトル命令も含まれていました。
命令VPERMIL2PDと命令は、VPERMIL2PSもともとAVX仕様の初期草案[24]でIntelによって定義され、後の草案[25] [26]では削除され、どのIntelプロセッサにも実装されませんでした。しかし、AMDによって実装され、XOP命令セット拡張の一部として指定されました。(XOPの他の部分と同様に、 AMD Zenでは削除されています。)
FMA4説明書
Bulldozerアーキテクチャ以降の AMD プロセッサでサポートされていますが、Zenでは削除されています。2023 年現在、どの Intel チップでもサポートされていません。
4 つのオペランドを持つ融合乗算加算。FMA4 は FMA3 より前にハードウェアで実現されました。
AMDは、BMI1とともにTBMをPiledriver [27]プロセッサラインに導入しました。その後のAMD JaguarおよびZenベースのプロセッサはTBMをサポートしていません。[28] Intelプロセッサは(2023年現在)TBMをサポートしていません。
TBM 命令はすべて XOP プレフィックスを使用してエンコードされます。これらはすべて 32 ビットおよび 64 ビット形式で使用可能で、XOP.W ビット (0=32 ビット、1=64 ビット) で選択されます。(XOP.W は 64 ビット モード以外では無視されます。) VEX/XOP プレフィックスでエンコードされたすべての命令と同様に、リアル モードおよび仮想 8086 モードでは使用できません。
- ^ については
BEXTR、BMI1 の一部として登録フォームが利用可能です。
軽量プロファイリング手順
AMD 軽量プロファイリング(LWP)機能はAMD Bulldozerで導入され、AMD Zenで削除されました。サポートされているすべてのCPUでは、 Spectreの緩和策により、最新のマイクロコードアップデートでLWPが無効になっています。[31]
これらの命令はリング 3 で使用できますが、リアル モードおよび仮想 8086 モードでは使用できません。すべて XOP プレフィックスを使用します。
- ^ ab およびが使用するアドレスは、DS: セグメント ベース アドレスを基準として指定される実効アドレスです。は、この実効アドレスに DS ベース アドレスを加算してリニア アドレスに変換し、 DS ベース アドレスを減算して元のアドレスに戻します。LWP が有効なときに DS ベース アドレスを変更すると、 はに指定されたアドレスとは異なるアドレスを返すことになり、 がLWP 状態を適切に保存できない可能性もあります。
LLWPCBSLWPCBLLWPCBSLWPCBSLWPCBLLWPCBXSAVE
他のベンダーからの指示
特定の指示NEC Vシリーズプロセッサ
これらの命令は NEC V20/V30 CPU およびその後継機に固有のものであり、NEC 以外の CPU には存在しません。これらの命令の多くは、NEC 以外の後継 CPU では他の命令に再割り当てされています。
これらの命令は、Cyrix CPU だけでなく、Cyrix マイクロアーキテクチャから派生した NatSemi/AMD Geode CPU (Geode GX および LX、NX はなし) にも存在します。また、 IBM、ST、TI などのCyrix 製造パートナー CPU、VIA Cyrix III (「Joshua」コアのみ、"Samuel" はなし)、STPC ATLAS や ZFMicro ZFx86 などのいくつかの SoC にも存在します。[43]これらのオペコードの多くは、後の非 Cyrix CPU で他の命令に再割り当てされました。
- ^ Cyrix SMM 命令には
RSM(0F AA; システム管理モードからの復帰) も含まれますが、これはRSMCyrix 固有の命令ではなく、最新の非 Cyrix x86 プロセッサにも存在し続けています。 - ^を 宛先レジスタとして
RSDC使用するのはNatSemi Geode GX2とAMD Geode GX/LX [47]でのみサポートされており、他のプロセッサでは#UDが発生します。CS - ^ NASMなどの一部のアセンブラ/逆アセンブラでは、エンコードに命令ニーモニックを使用します。
SMINTOLD0F 7E - ^ ab および命令については、Cyrixのドキュメント[48]では命令がModR/Mバイトを受け入れると指定されているが、ModR/Mバイトのregフィールドのエンコーディングは指定されていない。NASM v0.98.31以降ではこれらの命令に/0が使用されるが[49]、sandpile.orgのオペコード表[50]ではこれらの命令ではregフィールドが無視されることが示されている。
RDSHRWRSHR
サイリックスエミ説明書
これらの命令はCyrix 6x86MXおよびMIIプロセッサで導入され、MediaGXmおよびGeode GX1 [53]プロセッサにも存在しました。(その後のCyrix以外のプロセッサでは、すべてのオペコードがSSEまたはSSE2命令に使用されています。)
これらの命令は、MMX レジスタまたはメモリ内の 64 ビット ベクトルに作用する整数 SIMD 命令です。各命令は 2 つの明示的なオペランドを取ります。最初のオペランドは MMX レジスタ オペランドで、2 番目のオペランドはメモリ オペランドまたは 2 番目の MMX レジスタのいずれかです。さらに、いくつかの命令は暗黙のオペランドを取ります。これは、次のように最初のオペランドから暗黙的に得られる MMX レジスタです。
以下の表の命令の説明では、arg1命令arg2の 2 つの明示的なオペランドとimp暗黙のオペランドを参照します。
- ^ 命令がバイトを符号付きとして扱うか符号なしとして扱うかによって実装は異なります。 [54]
PAVEB - ^ abcdef 、および命令の場合、2 番目の明示的なオペランドはメモリ オペランドである必要があります。レジスタ オペランドはサポートされていません。
PDISTIBPMACHRIWPMV* - ^ Cyrix EMMI
PMULHRW命令は 3DNow!PMULHRW命令と同じニーモニックを持ちますが、オペコードと機能は異なります (EMMI 命令は乗算結果を 15 ビット右シフトしますが、3DNow! 命令は 16 ビット右シフトします)。NASM などの一部のアセンブラ/逆アセンブラでは、
PMULHRWA3DNow! 命令とPMULHRWCEMMI 命令のニーモニックを使用してこの曖昧さを解決します。
特定の指示VIAテクノロジーズCPU
すべてのVIA C3プロセッサは VIA AIS (代替命令セット) をサポートしています。これらのプロセッサで AIS をサポートするために用意されている x86 命令は次のとおりです。
これらの命令は、 VIA C7以降の VIA プロセッサ には存在しません。
特定の指示チップとテクノロジーCPU
C&T F8680 PC/チップは、80186互換CPUコアを搭載したシステムオンチップであり、F8680固有の「SuperState R」[58]スーパーバイザ/システム管理機能をサポートするためにいくつかの追加命令を備えています。「SuperState R」用に追加された命令の一部は次のとおりです。[59]
C&T は、Super386 として知られる 386 互換プロセッサも開発しました。このプロセッサは、基本的な Intel 386 命令セットに加えて、Super386 固有の「SuperState V」システム管理機能をサポートするいくつかの命令をサポートしています。 「SuperState V」に追加された命令は次のとおりです。[7]
M6117シリーズの組み込みマイクロコントローラは、VMテクノロジー(VMT)VM386SX+プロセッサから派生したIntel 386SX互換CPUコアを搭載しています。VMT VM386SX+は、Intel 386命令セットにプロセッサ固有の追加機能をいくつか追加しています。DM&P M6117Dについて文書化されているものは次のとおりです。[63]
特定の指示80387クローン
いくつかの 80387 クラスの浮動小数点コプロセッサは、標準の 80387 命令に加えて追加の命令を提供していましたが、これらはいずれもそれ以降のプロセッサではサポートされていません。
- ^ この
FNSTSG AX命令はIntel 387SL FPUだけでなくIntel 387SXでも実行できます。命令を直後に実行すると、 387SXではFNINIT命令が戻ります0000hが、387SLではゼロ以外のシグネチャ値が戻ります。[66]
参照
参考文献
- ^ Intel Itanium アーキテクチャ ソフトウェア開発者マニュアル、第 4 巻、(文書番号: 323208、改訂 2.3、2010 年 5 月)。
- ^ ab Intel SDM、第 1 巻、注文番号 253665-083、2024 年 3 月、第 2.5 章
- ^ R. Singhal、「はい。非推奨です。(VP2INTERSECTについて)」、2023年7月19日。2023年7月23日にアーカイブ。
- ^ Alexander Yee、Zen5 の AVX512 の分解とその他、2024 年 8 月 7 日
- ^ Intel、Intel® Xeon Phi™ コプロセッサー命令セットアーキテクチャーリファレンスマニュアル、2012年9月、注文番号327364-001。2021年8月4日にアーカイブ。
- ^ Intel、「Intel® アーキテクチャ近似命令 VRCP14、VRSQRT14、VRCP28、VRSQRT28、および VEXP2 のリファレンス実装」、id #671685、2015 年 12 月 28 日。2023 年 9 月 18 日にアーカイブ。
C コード「RECIP28EXP2.c」は 2023 年 9 月 18 日にアーカイブされました。
- ^ ab マイクロプロセッサレポート、システム管理モードの説明(第6巻、第8号、1992年6月17日)− AMD/Cyrix SMMオペコードとC&T Super386「SuperState V」オペコードのリストが含まれています。2022年6月29日にアーカイブされました。
- ^ 「Am386®SX/SXL/SXLV 高性能、低消費電力、組み込みマイクロプロセッサ」(PDF)。、出版物番号 21020、改訂 A、1997 年 4 月 − 5 ページと 6 ページに SMM 命令の説明があります。
- ^ AMD、Élan™SC310マイクロコントローラプログラマーズリファレンスマニュアル、注文番号20665A、1996年4月、セクション1.9.4、49ページ。2024年9月5日にアーカイブ。
- ^ Intel vs AMD、「事件番号C-93-20301 PVT、裁判の「ICE」モジュールに従った事実認定と法的な結論」。1994年10月7日。2021年5月10日時点のオリジナルよりアーカイブ。
- ^ abc John H. Wharton, The Complete X86, Volume 1, 1994. MicroDesign Resources、ISBN 1-885330-02-2。210ページの Am486SXLV、273 ページの Cyrix 486S、298 ページの IBM 386SLC の命令セットの追加について説明しています。
- ^ abcdef Potemkin's Hackers Group、OPCODE.LST v4.51、1999年10月15日。2001年5月21日アーカイブ。
- ^ Hans Peter Messmer、「The Indispensable PC Hardware Book」(ISBN 0201403994)、第 10.6.1 章、280-281 ページ
- ^ Frank van Gilluwe、「The Undocumented PC、第2版」、1997年、ISBN 0-201-47950-8、120ページ
- ^ マイクロプロセッサレポート、UMCが486SX互換の強化版を発表(第8巻、第7号、1994年5月30日)—UMC U5Sは「AMDの実装とハードウェアおよびソフトウェアの互換性がある組み込みSMM」を備えていると説明されている。2024年9月7日にアーカイブ。
- ^ AMD、3DNow! テクノロジーマニュアル、pub.no. 21928G/0、2000年3月。2018年10月9日アーカイブ。
- ^ AMD、AMD64 Architecture Programmer's Manual Volume 5、pub.no.26569、rev 3.16、2021年11月 − 118~125ページで、、、がニュートン・ラプソン反復を実行する方法の詳細を示します。2023
PFRCPIT1年9月24日にアーカイブ。PFRSQIT1PFRCPIT2 - ^ AMD、Geode LXプロセッサデータブック、pub.no. 33234H、2009年2月、673ページ。2019年3月15日にアーカイブ。
- ^ 「Windows 10 64 ビットの要件: CPU は CMPXCHG16b、PrefetchW、LAHF/SAHF をサポートしていますか?」
- ^ Grzegorz Mazur、AMD 3DNow! の文書化されていない手順
- ^ ab “Undocumented 3DNow! 説明書”. grafi.ii.pw.edu.pl . 2003年1月30日時点のオリジナルよりアーカイブ。2022年2月22日閲覧。
- ^ AMD、AMD64 テクノロジー: 128 ビット SSE5 命令セット、pub.no. 43479、rev 3.01、2007 年 8 月。2009 年 1 月 24 日時点のオリジナルよりアーカイブ。
- ^ AMD、「AMD64 アーキテクチャ プログラマーズ マニュアル 第 6 巻: 128 ビットおよび 256 ビット XOP および FMA4」、pub.no. 43479、rev 3.04、2009 年 11 月。2018 年 10 月 11 日にアーカイブ。
- ^ Intel、Advanced Vector Extensions Programming Reference、注文番号 319433-002、2008 年 3 月 - 411 ページと 420 ページに
VPERMIL2PDとの仕様が記載されておりVPERMIL2PS、612 ページから 660 ページに FMA4 命令が記載されています。2011 年 8 月 7 日時点のオリジナルからアーカイブ。 - ^ Intel、Advanced Vector Extensions Programming Reference、注文番号 319433-004、2008 年 12 月 −およびの仕様は含まれておらず、FMA4 の代わりに FMA3 があります。2023 年 9 月 24 日にアーカイブされました。
VPERMIL2PDVPERMIL2PS - ^ Intel Software Network、「最近の Intel(R) AVX アーキテクチャの変更」、2009 年 1 月 29 日。2009 年 2 月 2 日時点のオリジナルよりアーカイブ。
- ^ Hollingsworth, Brent. 「新しい「ブルドーザー」および「パイルドライバー」の説明書」(PDF) 。Advanced Micro Devices, Inc. 2014年7月26日時点のオリジナル(PDF)からアーカイブ。2014年12月11日閲覧。
- ^ 「ファミリー 16h AMD A シリーズ データシート」(PDF) . amd.com . AMD . 2013 年 10 月。2013年 11 月 7 日時点のオリジナル(PDF)からアーカイブ。2014 年 1 月 2 日閲覧。
- ^ 「AMD64 アーキテクチャ プログラマーズ マニュアル、第 3 巻: 汎用命令とシステム命令」(PDF)。amd.com 。AMD 。2013 年 10 月。2014年 1 月 4 日時点のオリジナル(PDF)からアーカイブ。2014 年 1 月 2日閲覧。
- ^ “tbmintrin.h from GCC 4.8”. 2017年2月23日時点のオリジナルよりアーカイブ。2014年3月17日閲覧。
- ^ Xen-devel メーリング リスト、x86/svm: AMD の軽量プロファイリングのサポートを終了、2019 年 5 月 20 日
- ^ abc NEC、16ビットVシリーズユーザーズマニュアル、2000年9月。2021年12月2日にアーカイブ。
- ^ NEC、V30MZ 予備ユーザーズマニュアル、1998年、14ページ。2021年12月2日にアーカイブ。
- ^ NEC 72291 FPU: 命令リストは、HP 64873 V シリーズ クロス アセンブラ リファレンスの F-31 ~ F-34 ページにあります。
- ^ NEC 16 ビット V シリーズ マイクロプロセッサ データブック、1991 年、p. 360-361
- ^ Renesas データシート MOS 集積回路 uPD70320。2022 年 1 月 6 日にアーカイブ。
- ^ abc Renesas、NEC V55PI 16ビットマイクロプロセッサデータシート、U11775E。2023年7月27日にアーカイブ。
- ^ NEC 16 ビット V シリーズ マイクロプロセッサ データブック、1991 年、p. 765-766
- ^ 「V55PI 16ビットマイクロプロセッサ」pp. 21–22 . 2024年1月18日閲覧。
- ^ Renesas、NEC V55PI ユーザーズマニュアル命令、U10231J (日本語)。
PUSH/POP DS2/DS3マクロ定義にリストされているオペコードは378ページにあります。2022年12月11日にアーカイブされました。 - ^ NEC V55SC 16 ビット マイクロプロセッサ 暫定データ シート (ODNo ID-8206A、1993 年 3 月)、70 ページと 127 ページ。2022 年 4 月 20 日に datasheetarchive.com で「nec v55sc」を検索すると見つかります。2022 年 11 月 22 日にアーカイブされました。
- ^ NEC uPD70616 プログラマーズリファレンスマニュアル (1986 年 11 月)、p.287。2006 年 12 月 5 日にアーカイブ。
- ^ ZFMicro、ZFx86 System-on-a-chip Data Book 1.0 Rev D、2005 年 6 月 5 日、セクション 2.2.6.3、76 ページ。2009 年 2 月 11 日にアーカイブ。
- ^ Texas Instruments、TI486 マイクロプロセッサ リファレンス ガイド、1993 年、セクション A.14、308 ページ
- ^ Debbie Wiles、CPU 識別、2004-06-04 にアーカイブ
- ^ Cyrix 486SLC/e データシート (1992)、セクション 2.6.4
- ^ ab AMD、Geode LXプロセッサデータブック、2009年2月、出版ID 33234H、セクション8.3.4、643-657ページ。2023年12月3日にアーカイブ。
- ^ ab Cyrix 6x86MX データブック、セクション 2.15.3
- ^ SourceForge の NASM 0.98.31 ドキュメント、セクション B.275 および B.331 を参照。2023 年 7 月 21 日にアーカイブされました。
- ^ Sandpile、x86 アーキテクチャ 2 バイト オペコード。2011 年 11 月 3 日にアーカイブ。
- ^ VIA、Cyrix III プロセッサ データブック、v1.00、2000 年 1 月 25 日、p. 103。
- ^ Cyrix MediaGX データブック、セクション 4.1.5
- ^ AMD、AMD Geode GX1 プロセッサ データブック、rev 5.0、2003 年 12 月、p. 226。2020 年 4 月 20 日にアーカイブ。
- ^ Cyrix、アプリケーションノート 108 − Cyrix マルチメディア命令セットの拡張、改訂 0.93、1998 年 9 月 9 日、7 ページ
- ^ ab VIA Technologies、VIA C3 Samuel 2 プロセッサ データシート、バージョン 1.10、2002 年 1 月 - 60 ページに AISオペコード (ニーモニックなし)を一覧表示する公開データシート。2004年 4 月 10 日時点のオリジナルからアーカイブ。
0F 3F8D 84 00 imm32 - ^ VIA、VIA C3プロセッサ代替命令セットプログラミングリファレンス、バージョン0.25、2002年11月。2023年4月26日にアクセス。
- ^ VIA、VIA C3プロセッサ代替命令セットアプリケーションノート、バージョン0.24、2002、14ページ。2023年4月26日にアクセス。
- ^ BYTE マガジン、1991 年 11 月、245 ページ
- ^ Institute Of Oceanographic Sciences、Sonic buoy − Formatter Handbook の 34 ページに F8680 命令マクロがいくつか記載されています。2018 年 11 月 4 日にアーカイブされました。
- ^ F8680 PC/チップ システム設計ガイドには、F8680 CREG レジスタの多くについての説明が含まれています。
- ^ Michal Necasek、C&T Super386 の詳細
- ^ Corexor、「C&T SCALL を安全に呼び出す」、2015 年 12 月 5 日。2020 年 10 月 27 日にアーカイブ。
- ^ DM&P、M6117D : System on a chip、31、34、68 ページ。2006 年 7 月 20 日にアーカイブ。
- ^ Intel「Intel287 XL/XLT 数値演算コプロセッサ」(1992 年 10 月、注文番号 290376-003) p.33
- ^ Intel「Intel387 SL モバイル数値演算コプロセッサ」(1992 年 2 月、注文番号 290427-001)、付録 A。2022 年 1 月 7 日に datasheetarchive.com で「intel387 sl」を検索すると見つかります。2022 年 1 月 7 日にアーカイブされました。
- ^ デズモンド・ユエン、インテルの SL アーキテクチャ: ポータブルアプリケーションの設計、(1993 年、ISBN 0-07-911336-2) p.127
- ^ ab IIT 3c87 高度数学コプロセッサデータブック
- ^ ハラルド フェルドマン、Hamarsoft 86BUGS リスト
- ^ ab Norbert Juffa「数学コプロセッサについて常に知りたいことすべて」、1994 年 10 月 1 日改訂
- ^ abc Robert L. Hummel、PC Magazine Programmer's Technical Reference、1992年、ISBN 1-56276-016-5、670-672ページと710ページ。
