竹下世界塔の計算機よもやま話

アクセスカウンタ

zoom RSS ぼくのかんがえたさいきょうCPU キャリー付き加減算の考慮不足

<<   作成日時 : 2009/09/22 22:46   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

・加減算命令
ADDC GRs1,GRs2,GRd キャリー付き加算
SUBC GRs1,GRs2,GRd ボロー付き減算

 と漫然と決めたのだが、いったいどのレジスタのキャリービットを使うのだ?
GRs1のキャリーを使うと減算の場合に都合が悪い。GRs2にすると、即値のときにどのレジスタのキャリーを使ってよいかわからない。
 そこで、条件付き移動命令の追加で、キャリー加減算命令を考えてみた。

CINC Gccn,GRs,1,GRd キャリーが立っていればGRd=GRs+1
CDEC Gccn,GRs,1,GRd キャリーが立っていればGRd=GRsー1
だがどうも筋が悪い。レジスタのビット数が多いので、あまり使わないはずの多倍長演算のために命令を用意できるか?

64ビットアーキの例を探してみる。
IA-64には add r1=r2,r3,1 / sub r1=r2,r3,1 という命令があり、プレディケートビットと組み合わせると多倍長演算が可能になる。
Alphaにはそもそも条件フラグがなく、レジスタで判断するのだがキャリービットに相当するものがない。

結論:
ADDC/SUBC命令は廃止。条件分岐命令でキャリー/ボローを補正することにする。(または条件移動命令でレジスタに1を入れて加減算)特別な命令は追加しない。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
URL(任意)
本 文




ぼくのかんがえたさいきょうCPU キャリー付き加減算の考慮不足 竹下世界塔の計算機よもやま話/BIGLOBEウェブリブログ
文字サイズ:       閉じる