通信用語の基礎知識 日本文化チャンネル桜二千人委員会 戻る

通常PC用 / 人気 更新 今日 カテ
技術・工学 > 半導体 > 集積回路 > MPU > 動作・機能・技術 > x86系
XOPプリフィックス
辞書:科学用語の基礎知識 中央演算処理装置用語x86編 (IYCP86)
読み:エックスオウピー-プリフィックス
外語:XOP prefix
品詞:名詞

AMDXOPで採用されているSIMD命令セット拡張に関する命令プリフィックス(接頭辞)。

目次
概要

AMDがIntel AVXで不足するSIMD命令(かつてSSE5として計画されていた)を追加するにあたり、独自の拡張命令を符号化するために設計したプリフィックス。

Intel AVXで使われるVEXプリフィックスを参考に、Intelのそれとオペコードが重複しないように実装された。

そもそもIntel AVXは、拡張に次ぐ拡張で複雑化したSSEのオペコードをシンプルな構造に整理し、これにより処理の高速化や更なる拡張性の確保を目指したものである。このために使われるのがVEXプリフィックスである。

XOPで使われるXOPプリフィックスも、発想はVEXプリフィックスとほぼ同じである。命令のデコーダー回路も多くを共用可能とし、無理のない実装を実現させた。

特徴
オペコード

XOPのオペコードは、VEXプリフィックスと発想ならびに構造的にはほぼ同じである。

XOPは、8Fhに続く2バイト目をModR/Mとみなし、regフィールドが0ならPOP命令、それ以外の未定義命令だったものをXOPプリフィックスとみなす。

2バイト目はMSBから順に、R/X/B/mmmmmとなり、2バイト目の下位5ビットを命令を識別するmmmmmフィールドとする。

1バイト目 2バイト目 3バイト目
76543210 76543210 76543210
8F RXBmmmmm WvvvvLpp

4バイト目に命令を表わす1バイト、5バイト目にModR/M、6バイト目以降に必要に応じてイミディエイトが付く。

2バイト目

mmmmmフィールドの頭2ビットが00となるもの(0から7までの8通り)は従来のPOP命令になるため利用できないが、8から31までの24通りが拡張命令として利用できる。

R/X/Bは、それぞれREXプリフィックスの各ビット機能と同様であるが、VEXプリフィックスと同様にビット反転された1の補数となっている。反転させずとも従来命令との衝突は無いが、VEXと命令デコード回路の共通化などが目的と思われる。

2バイト目従来命令AMD XOP
xx000xxxPOP m16 / POP m32
xx001xxx(#UD)B = 0, mmmmm = 8‐15
xx010xxx(#UD)B = 0, mmmmm = 16‐23
xx011xxx(#UD)B = 0, mmmmm = 24‐31
xx100xxx(#UD)
xx101xxx(#UD)B = 1, mmmmm = 8‐15
xx110xxx(#UD)B = 1, mmmmm = 16‐23
xx111xxx(#UD)B = 1, mmmmm = 24‐31

実際の命令は4バイト目の1バイトで表わすため、都合、24×256=6,144種類の命令が符号化できることになる。

リンク
用語の所属
命令プリフィックス
マルチメディア命令
オペコード (IA-32)
関連する用語
SSE
VEXプリフィックス

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic