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

アクセスカウンタ

zoom RSS ぼくのかんがえたさいきょうCPU:連鎖性言語の特徴を取り入れてみる

<<   作成日時 : 2017/05/13 01:19   >>

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


連鎖性言語

 スタックを取り入れようと思うがアンダーフローやオーバーフローの管理がたいへんだ。では以下のように制限してみてはどうだろうか。

・スタックは1段
・オーバーフローもアンダーフローも発生しない
・次の命令でスタックからPOPしてもよい。POPしなければ捨てられる


 演算結果を判定して分岐する場合
A-Bの結果をスタックにPUSH;スタックからPOPし、条件判断して分岐

 サブルーチンコールの場合
分岐命令は次命令の番地をスタックにPUSH;分岐先の命令でPOPし、リターンアドレスとして任意のレジスタに保存
※引数も渡せそうだがスタック1段では難しそうなのであきらめる

 メモリ操作命令の場合
ロードまたはストア命令でEffective AdressをスタックにPUSH;次命令でPOPして任意のレジスタに転送すればLEA命令相当

 演算命令の場合
 除算命令は演算終了後には商と余りが同時に得られる。余りをPUSHしておき、必要であれば次命令でPOPして任意のレジスタに保存する。
 乗算命令はレジスタ幅が同じならば演算結果がオーバーフローする場合がある。次命令でオーバーフローした時に演算結果の上位を取り出すことができる。

 こういった感じでデスティネーションレジスタを指定しなくてよい、またはディスティネーションレジスタの番号を事前に決めておかなくても良い。実装としては単なる演算結果のバッファであり、レジスタファイルをわざわざ操作せずにバイパスできる。

リョービ(RYOBI) チェンソー CS-402FS 616121Aリョービ(RYOBI) チェンソー CS-402FS 616121A

リョービ
売り上げランキング : 18651

Amazonで詳しく見る
by G-Tools


テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

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

トラックバック(0件)

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

トラックバック用URL help


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

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文




ぼくのかんがえたさいきょうCPU:連鎖性言語の特徴を取り入れてみる 竹下世界塔の計算機よもやま話/BIGLOBEウェブリブログ
文字サイズ:       閉じる