24531904_j
24531904_j 24531904_j
3.7.1 実数体系 図 3-8 に示す よ う に、実数体系は、マ イ ナス無限大 (-∞) からプラス無限大(+∞) までの実数の 連続体で構成 さ れる。 図 3-8. 2 進実数体系 コンピュータが使用できるレジスタのサイズと数には制限があるため、 実数の計算では、 実数の連続体の一部しか使用で き ない。 図 3-1 の下部に示す よ う に、 特定のプ ロ セ ッ サが サポ ー ト する実数の部分集合は、 実数体系を近似的に表現した も のであ る。 こ の実数の部 分集合の範囲と精度は、 プロセ ッ サが実数の表現に使用する フ ォ ーマ ッ ト に よ って決ま る。 3.7.1.1 浮動小数点フォーマット 2 進実数体系 -100 -10 -1 0 1 10 100 ςς ςς IEEE 単精度 (32 ビット ) 浮動小数点フォーマットで 表現可能な 2 進実数の部分集合 -100 -10 -1 0 1 10 100 ςς ςς 精度 +10 10.0000000000000000000000 1.11111111111111111111111 24 桁の 2 進数 この範囲内の数は 表現できない。 コ ン ピ ュ ー タ は、 実数計算の速度 と 効率を上げ るために、 通常は 2 進浮動小数点フ ォ ー マ ッ ト で実数を表現す る。 こ の フ ォ ー マ ッ ト では、 実数は、 符号部、 仮数部、 指数部の 3 つの部分で構成される。 図 3-9 は、 ス ト リ ー ミ ング SIMD 拡張命令デー タ に使用 される 2 進浮動小数点フ ォ ー マ ッ ト を示している。 こ の フ ォ ー マ ッ ト は、 IEEE 規格に適合す る。 3:858 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス
図 3-9. 2 進浮動小数点フォーマット 3.7.1.2 正規化数 符号部は、 数値の正負を示す 2 進値 ( 正の場合は 0、 負の場合は1) であ る。 仮数部は、 1 ビッ トの2 進整数部分 (J ビッ ト とも呼ばれる) と、 2 進小数部分で構成 さ れる。 多 く の場 合、 J ビ ッ ト は表現されず、 暗黙の値 と なる。 指数部は 2 進整数であ り、 こ の指数で 2 を 累乗した値が仮数に掛け ら れる。 表3-1 は、通常の 10進フ ォ ーマッ ト の実数178.125 を浮動小数点フ ォ ー マ ッ ト で格納する方 法を示している。 この表は、 実数表記法を、 プロセッサが使用するフ ォ ーマ ッ ト に変換す るプロセスを示している。 このフォーマッ トでは、 2 進実数は正規化され、 指数はバイア スされる。 表 3-1. 実数表記法 表記法 値 通常の 10 進数 178.125 科学計算用 10 進数 1.78125E102 科学計算用 2 進数 1.0110010001E2111 科学計算用 2 進数 ( バイアスされた指数 ) 1.0110010001E210000110 単精度フォーマット ( 正規化数 ) ほ と ん ど の場合、 プ ロ セ ッ サは、 正規化形式で実数を表現する。 つ ま り 、 値が 0 の場合を 除いて、 仮数部は、 常に整数 1 と 以下の小数で構成 さ れる。 1.fff...ff 値が 1 より小さい場合は、先頭の0 は削除される。 先頭の 0 が 1 つ削除されるたびに、 指 数は 1 ずつデク リ メン ト される。 正規化形式で数値を表現する と 、 特定の幅の仮数部に収ま る有効桁数が最 も 大き く な る。 要約す る と 、 正規化実数は、 1 と 2 の間の実数を表す正規化 さ れた仮数部 と 、 数値の 2 進 小数点を指定す る指数部で構成 さ れる。 3.7.1.3 バイアスされた指数 符号部 指数部 仮数部 整数部分または J ビット 小数部分 符号 バイアスされた指数 仮数 0 10000110 01100100010000000000000 1 ( 暗黙的 ) プロセッサは、バイアスされた形式で指数を表現する。これは、バイアスされた指数が常 に正の値にな る よ う な定数が、 実際の指数に加算される意味である。 バイアス定数の値 は、使用 さ れてい る浮動小数点フ ォ ー マ ッ ト で指数部の表現に使用で き る ビ ッ ト 数に よ っ 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス 3:859
- Seite 820 und 821: PCMPEQB/PCMPEQW/PCMPEQD—Packed Co
- Seite 822 und 823: PCMPGTB/PCMPGTW/PCMPGTD—Packed Co
- Seite 824 und 825: PMADDWD—Packed Multiply and Add
- Seite 826 und 827: PMULHW—Packed Multiply High オ
- Seite 828 und 829: PMULLW—Packed Multiply Low オペ
- Seite 830 und 831: POR—Bitwise Logical OR オペコ
- Seite 832 und 833: PSLLW/PSLLD/PSLLQ—Packed Shift Le
- Seite 834 und 835: PSLLW/PSLLD/PSLLQ—Packed Shift Le
- Seite 836 und 837: PSRAW/PSRAD—Packed Shift Right Ar
- Seite 838 und 839: PSRLW/PSRLD/PSRLQ—Packed Shift Ri
- Seite 840 und 841: PSRLW/PSRLD/PSRLQ—Packed Shift Ri
- Seite 842 und 843: PSUBB/PSUBW/PSUBD—Packed Subtract
- Seite 844 und 845: PSUBSB/PSUBSW—Packed Subtract wit
- Seite 846 und 847: PSUBSB/PSUBSW—Packed Subtract wit
- Seite 848 und 849: PSUBUSB/PSUBUSW—Packed Subtract U
- Seite 850 und 851: PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unp
- Seite 852 und 853: PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unp
- Seite 854 und 855: PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ—Unp
- Seite 856 und 857: PXOR—Logical Exclusive OR オペ
- Seite 858 und 859: 3:846 第 3 巻 : IA-32 MMX ® テ
- Seite 860 und 861: 令テ ク ノ ロジを組み込
- Seite 862 und 863: 図 3-3. パックド操作 図 3-4
- Seite 864 und 865: COMISS (Compare scalar single-preci
- Seite 866 und 867: scalar 32-bit integer) 命令は、
- Seite 868 und 869: MASKMOVQ (Non-temporal byte mask st
- Seite 872 und 873: て異なる。 バイアス定数
- Seite 874 und 875: 極端な場合には、 先頭の
- Seite 876 und 877: 3.8 データ・フォーマット
- Seite 878 und 879: 3.10 命令プリフィックス
- Seite 880 und 881: •xmm/m64: 128 ビット ・マル
- Seite 882 und 883: ADDPS—Packed Single-FP Add ( 続
- Seite 884 und 885: ADDSS—Scalar Single-FP Add ( 続
- Seite 886 und 887: ANDNPS—Bit-wise Logical And Not F
- Seite 888 und 889: ANDPS—Bit-wise Logical And for Si
- Seite 890 und 891: CMPPS—Packed Single-FP Compare (
- Seite 892 und 893: CMPPS—Packed Single-FP Compare (
- Seite 894 und 895: CMPSS—Scalar Single-FP Compare (
- Seite 896 und 897: CMPSS—Scalar Single-FP Compare (
- Seite 898 und 899: COMISS—Scalar Ordered Single-FP C
- Seite 900 und 901: CVTPI2PS—Packed Signed INT32 to P
- Seite 902 und 903: CVTPS2PI—Packed Single-FP to Pack
- Seite 904 und 905: CVTPS2PI—Packed Single-FP to Pack
- Seite 906 und 907: CVTSI2SS—Scalar Signed INT32 to S
- Seite 908 und 909: CVTSS2SI—Scalar Single-FP to Sign
- Seite 910 und 911: CVTTPS2PI—Packed Single-FP to Pac
- Seite 912 und 913: CVTTSS2SI—Scalar Single-FP to Sig
- Seite 914 und 915: DIVPS—Packed Single-FP Divide オ
- Seite 916 und 917: DIVSS—Scalar Single-FP Divide オ
- Seite 918 und 919: FXRSTOR—Restore FP and Intel ® M
3.7.1 実数体系<br />
図 3-8 に示す よ う に、実数体系は、マ イ ナス無限大 (-∞) からプラス無限大(+∞) までの実数の<br />
連続体で構成 さ れる。<br />
図 3-8. 2 進実数体系<br />
コンピュータが使用できるレジスタのサイズと数には制限があるため、 実数の計算では、<br />
実数の連続体の一部しか使用で き ない。 図 3-1 の下部に示す よ う に、 特定のプ ロ セ ッ サが<br />
サポ ー ト する実数の部分集合は、 実数体系を近似的に表現した も のであ る。 こ の実数の部<br />
分集合の範囲と精度は、 プロセ ッ サが実数の表現に使用する フ ォ ーマ ッ ト に よ って決ま<br />
る。<br />
3.7.1.1 浮動小数点フォーマット<br />
2 進実数体系<br />
-100 -10 -1 0 1 10 100<br />
ςς ςς<br />
IEEE 単精度 (32 ビット ) 浮動小数点フォーマットで<br />
表現可能な 2 進実数の部分集合<br />
-100 -10 -1 0 1 10 100<br />
ςς ςς<br />
精度<br />
+10<br />
10.0000000000000000000000<br />
1.11111111111111111111111<br />
24 桁の 2 進数<br />
この範囲内の数は<br />
表現できない。<br />
コ ン ピ ュ ー タ は、 実数計算の速度 と 効率を上げ るために、 通常は 2 進浮動小数点フ ォ ー<br />
マ ッ ト で実数を表現す る。 こ の フ ォ ー マ ッ ト では、 実数は、 符号部、 仮数部、 指数部の 3<br />
つの部分で構成される。 図 3-9 は、 ス ト リ ー ミ ング SIMD 拡張命令デー タ に使用 される 2<br />
進浮動小数点フ ォ ー マ ッ ト を示している。 こ の フ ォ ー マ ッ ト は、 IEEE 規格に適合す る。<br />
3:858 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス