16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

pavg<br />

図 2-31. 並列平均でのゼロから離れる方向の丸めの例<br />

GR r 3 :<br />

GR r 2 :<br />

16 ビットの和<br />

+<br />

キャリー<br />

1 ビット<br />

右シフト<br />

GR r 1 :<br />

操作 : if (PR[qp]) {<br />

check_target_register(r 1);<br />

+<br />

1 1 1 1<br />

+<br />

if (one_byte_form) {<br />

x[0] = GR[r 2]{7:0}; y[0] = GR[r 3]{7:0};<br />

x[1] = GR[r 2 ]{15:8}; y[1] = GR[r 3 ]{15:8};<br />

x[2] = GR[r 2 ]{23:16}; y[2] = GR[r 3 ]{23:16};<br />

x[3] = GR[r 2]{31:24}; y[3] = GR[r 3]{31:24};<br />

x[4] = GR[r 2 ]{39:32}; y[4] = GR[r 3 ]{39:32};<br />

x[5] = GR[r 2 ]{47:40}; y[5] = GR[r 3 ]{47:40};<br />

x[6] = GR[r 2]{55:48}; y[6] = GR[r 3]{55:48};<br />

x[7] = GR[r 2 ]{63:56}; y[7] = GR[r 3 ]{63:56};<br />

+<br />

pavg2.raz<br />

if (raz_form) {<br />

for (i = 0; i < 8; i++) {<br />

temp[i] = zero_ext(x[i], 8) + zero_ext(y[i], 8) + 1;<br />

res[i] = shift_right_unsigned(temp[i], 1);<br />

}<br />

} else { // normal form<br />

for (i = 0; i < 8; i++) {<br />

temp[i] = zero_ext(x[i], 8) + zero_ext(y[i], 8);<br />

res[i] = shift_right_unsigned(temp[i], 1) | (temp[i]{0});<br />

}<br />

}<br />

GR[r 1 ] = concatenate8(res[7], res[6], res[5], res[4],<br />

res[3], res[2], res[1], res[0]);<br />

} else { // two_byte_form<br />

x[0] = GR[r 2 ]{15:0}; y[0] = GR[r 3 ]{15:0};<br />

x[1] = GR[r 2 ]{31:16}; y[1] = GR[r 3 ]{31:16};<br />

x[2] = GR[r 2 ]{47:32}; y[2] = GR[r 3 ]{47:32};<br />

x[3] = GR[r 2 ]{63:48}; y[3] = GR[r 3 ]{63:48};<br />

if (raz_form) {<br />

for (i = 0; i < 4; i++) {<br />

temp[i] = zero_ext(x[i], 16) + zero_ext(y[i], 16) + 1;<br />

第 3 巻 : 命令リファレンス 3:181<br />

+<br />

キャリー・<br />

ビット<br />

1 ビット右シフト<br />

和ビット

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!