24531904_j
24531904_j 24531904_j
probe 操作 : if (PR[qp]) { itype = NON_ACCESS; itype |= (read_write_form) ? READ|WRITE : ((write_form) ? WRITE : READ); itype |= (fault_form) ? PROBE_FAULT : PROBE; } if (!fault_form) check_target_register(r 1 ); if (GR[r 3 ].nat || (register_form ? GR[r 2 ].nat : 0)) register_nat_consumption_fault(itype); tmp_pl = (register_form) ? GR[r 2 ]{1:0} : imm 2 ; if (tmp_pl < PSR.cpl) tmp_pl = PSR.cpl; if (fault_form) { tlb_translate(GR[r 3 ], 1, itype, tmp_pl, &mattr, &defer); } else { GR[r 1 ] = tlb_grant_permission(GR[r 3 ], itype, tmp_pl); GR[r 1 ].nat = 0; } 割り込み : 無効操作フ ォ ル ト デー タ NaT ページ参照フォル ト レジスタ NaT 参照フォルト データ・キー・ ミス・フォルト 実装されていないデータ ・アドレス ・ フォルト データ ・キー許可フォルト データがネス ト された TLB フォルト データ・アクセス権フォルト 別のデー タ TLB フォルト データ・ダーティ・ビット ・フォルト VHPT データ ・ フォル ト データ ・ アクセス ・ ビッ ト ・ フォル ト データ TLB フォルト データ・デバッグ・フォルト データ ・ ページ不在フォルト 3:194 第 3 巻 : 命令リファレンス
psad psad ─ 並列絶対差累計 (Parallel Sum of Absolute Difference) 書式 : (qp) psad1r 1 = r 2 , r 3 I2 説明 : GR r 2 の符号なし 8 ビッ トの各要素がGR r 3 の対応する符号なし 8 ビッ ト要素から減算さ れる。 各減算結果の絶対値がすべての要素について累計 さ れ、 GR r 1 に格納される。 図 2-38. 並列絶対差累計の例 操作 : if (PR[qp]) { check_target_register(r 1); } 割り込み : 無効操作フ ォ ル ト GR r3: GR r 2 : GR r 1 : - - - - - - - - abs abs abs abs abs abs abs abs + + + + x[0] = GR[r 2 ]{7:0}; y[0] = GR[r 3 ]{7:0}; x[1] = GR[r 2]{15:8}; y[1] = GR[r 3]{15:8}; x[2] = GR[r 2 ]{23:16}; y[2] = GR[r 3 ]{23:16}; x[3] = GR[r 2 ]{31:24}; y[3] = GR[r 3 ]{31:24}; x[4] = GR[r 2]{39:32}; y[4] = GR[r 3]{39:32}; x[5] = GR[r 2 ]{47:40}; y[5] = GR[r 3 ]{47:40}; x[6] = GR[r 2 ]{55:48}; y[6] = GR[r 3 ]{55:48}; x[7] = GR[r 2]{63:56}; y[7] = GR[r 3]{63:56}; GR[r 1 ] = 0; for (i = 0; i < 8; i++) { temp[i] = zero_ext(x[i], 8) - zero_ext(y[i], 8); if (temp[i] < 0) temp[i] = -temp[i]; GR[r 1 ] += temp[i]; } GR[r 1 ].nat = GR[r 2 ].nat || GR[r 3 ].nat; 第 3 巻 : 命令リファレンス 3:195 + psad1 + +
- Seite 155 und 156: ldfp ldfp ─ 浮動小数点ペア
- Seite 157 und 158: ldfp } } if (base_update_form) { //
- Seite 159 und 160: lfetch 表 2-38. lfhint のニー
- Seite 161 und 162: loadrs loadrs ─ レジスタ・
- Seite 163 und 164: mix mix ─ ミックス (Mix) 書
- Seite 165 und 166: mix 操作 : if (PR[qp]) { check_ta
- Seite 167 und 168: mov ar 操作 : if (PR[qp]) { tmp_t
- Seite 169 und 170: mov cr mov ─ コントロール
- Seite 171 und 172: mov fr mov ─ 浮動小数点レ
- Seite 173 und 174: mov imm mov ─ 即値の移動 (Mo
- Seite 175 und 176: mov indirect 操作 : if (PR[qp]) {
- Seite 177 und 178: mov ip mov ─ 命令ポインタ
- Seite 179 und 180: mov psr mov ─ プロセッサ・
- Seite 181 und 182: movl movl ─ ロング型即値の
- Seite 183 und 184: mux 図 2-27. Mux2 の例 (16 ビ
- Seite 185 und 186: nop nop ─ ノー・オペレー
- Seite 187 und 188: pack pack ─ パック (Pack) 書
- Seite 189 und 190: padd padd ─ 並列加算 (Paralle
- Seite 191 und 192: padd } 割り込み : 無効操作
- Seite 193 und 194: pavg 図 2-31. 並列平均での
- Seite 195 und 196: pavgsub pavgsub ─ 並列平均減
- Seite 197 und 198: pcmp pcmp ─ 並列比較 (Paralle
- Seite 199 und 200: pmax pmax ─ 並列最大値 (Para
- Seite 201 und 202: pmpy pmpy ─ 並列乗算 (Paralle
- Seite 203 und 204: pmpyshr 操作 : if (PR[qp]) { chec
- Seite 205: probe probe ─ アクセスのプ
- Seite 209 und 210: pshladd pshladd ─ 並列左シフ
- Seite 211 und 212: pshr } 割り込み : 無効操作
- Seite 213 und 214: psub psub ─ 並列減算 (Paralle
- Seite 215 und 216: psub } 割り込み : 無効操作
- Seite 217 und 218: ptc.g, ptc.ga ptc.g, ptc.ga ─ グ
- Seite 219 und 220: ptc.l ptc.l ─ ローカル・ト
- Seite 221 und 222: ptr 割り込み : 特権操作フ
- Seite 223 und 224: fi この命令を発行する前
- Seite 225 und 226: sm rsm ─ システム・マスク
- Seite 227 und 228: um rum ─ ユーザ・マスクの
- Seite 229 und 230: setf 操作 : if (PR[qp]) { fp_chec
- Seite 231 und 232: shladd shladd ─ 左シフトお
- Seite 233 und 234: shr shr ─ 右シフト (Shift Rig
- Seite 235 und 236: srlz srlz ─ シリアル化 (Seri
- Seite 237 und 238: st st ─ ストア (Store) 書式
- Seite 239 und 240: stf stf ─ 浮動小数点スト
- Seite 241 und 242: sub sub ─ 減算 (Subtract) 書
- Seite 243 und 244: sxt sxt ─ 符号拡張 (Sign Exte
- Seite 245 und 246: tak tak ─ トランスレーシ
- Seite 247 und 248: tbit PR[p2 ] = 0; } break; case ‘
- Seite 249 und 250: tnat tnat ─ Test Nat テスト (T
- Seite 251 und 252: tpa tpa ─ 物理アドレスへ
- Seite 253 und 254: unpack unpack ─ アンパック (
- Seite 255 und 256: xchg xchg ─ 交換 (Exchange) 書
probe<br />
操作 : if (PR[qp]) {<br />
itype = NON_ACCESS;<br />
itype |= (read_write_form) ? READ|WRITE : ((write_form) ? WRITE : READ);<br />
itype |= (fault_form) ? PROBE_FAULT : PROBE;<br />
}<br />
if (!fault_form)<br />
check_target_register(r 1 );<br />
if (GR[r 3 ].nat || (register_form ? GR[r 2 ].nat : 0))<br />
register_nat_consumption_fault(itype);<br />
tmp_pl = (register_form) ? GR[r 2 ]{1:0} : imm 2 ;<br />
if (tmp_pl < PSR.cpl)<br />
tmp_pl = PSR.cpl;<br />
if (fault_form) {<br />
tlb_translate(GR[r 3 ], 1, itype, tmp_pl, &mattr, &defer);<br />
} else {<br />
GR[r 1 ] = tlb_grant_permission(GR[r 3 ], itype, tmp_pl);<br />
GR[r 1 ].nat = 0;<br />
}<br />
割り込み : 無効操作フ ォ ル ト デー タ NaT ページ参照フォル ト<br />
レジスタ NaT 参照フォルト データ・キー・ ミス・フォルト<br />
実装されていないデータ ・アドレス ・ フォルト データ ・キー許可フォルト<br />
データがネス ト された TLB フォルト データ・アクセス権フォルト<br />
別のデー タ TLB フォルト データ・ダーティ・ビット ・フォルト<br />
VHPT データ ・ フォル ト データ ・ アクセス ・ ビッ ト ・ フォル ト<br />
データ TLB フォルト データ・デバッグ・フォルト<br />
データ ・ ページ不在フォルト<br />
3:194 第 3 巻 : 命令リファレンス