chocopaの日記: 「ロボットの起源」 新CPUは2命令フェッチ
日記 by
chocopa
さくっと進むかと思った新CPU設計ですが、
設計段階での部品調達で新たな要素が出てきて設計上の問題の高次化が進んでいます(笑)
TTLなんか現代のチップの繋ぎに使える物以外はディスコンの嵐だろうから加算器さえ残ってくれてればいいよ!と思っていたのですが意外な事に、かなり強力なALU(演算器)が現代も流通しているようです。現在、見積中。
入手できたら予定の性能が飛躍的に上がって貧弱演算を実行数でカバーする設計コンセプトも見直さないといけないかも?
現在の設計コンセプトはだいたいこんな感じです。
データ、アドレス16bit。
専用インデックス、スタック無し
演算は最小構成時に、加算、NAND、右シフト
命令は、
レジスタ ← メモリMOV
メモリ ← レジスタMOV
レジスタ ← レジスタMOV
レジスタ ← 直値MOV
レジスタ演算
ジャンプ(条件付き含む)
命令コードは、16bit幅に2命令を入れる。
ステージは3つ。
1、フェッチとデコード
2、第1命令実行
3、第2命令実行
8bitではなく16bitの2段命令の構成には幾つかのメリットがある。
ALUが16bitになる。
アドレスの扱いが1回のアクセスですっきり速い。
1命令あたりのフェッチが0.5回になって速い。
演算してライトバックとか、リードして演算といったプロセスは、コンパイラに投げて簡素で危険な命令を安全に多く処理することで対応する。
さらに、命令のフェッチとメモリーをアクセスしない命令は競合しないのでパイプラインとして動作する。新CPUはALUが超貧弱なのでフェッチと競合しない命令の実行が多くなる。
「ロボットの起源」 新CPUは2命令フェッチ More ログイン