当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。

Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。

広告配信等の詳細については、プライバシーポリシーページに掲載しています。

消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題の表現がありましたら、問い合わせページよりご連絡ください。

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

Control Unit【NandGame編】

はじめに

いつもブログをご覧いただきありがとうございます。

コーストFIRE中のIPUSIRONです😀

IPUSIRONのプロフィールを見る

Control Unitレベル

Control Unitレベルのゴールは、

NandGameのコントロールユニットの仕組み

・入力Iを命令にデコードする。

入力Iからは16ビット値が入ってきます。

最上位ビットで命令セットが決まります。

フラグs1、s0、sbは入力レジスターを選択します。

sb=1のときには、代わりにバックアップレジスターが選択されます。

Control Unitレベルを解く

1:control unitコンポーネントを配置して、入力ピンをワイヤリングします。

2:出力端子にセレクターをワイヤリングします。

特にX端子とPC端子は1つの16ビットセレクターを共有することに注意してください。

3:出力側のセレクター群(の一部)とcontrol unitコンポーネントの出力側のピン群を接続します。

セクレターの振り分けは、Iの上位2ビットが10bかどうかで行います。

4:I端子の13、5~0ビット目をセレクターの入力d1ピンに接続します。

特に、0ビット目のbはセレクターを介して出力端子sbとつなげることに注意してください。

5:control unitコンポーネントの出力ピンをワイヤリングします。

6:m、sb、swにつながっているセレクターのd0は常に0を与えます。

7:入力端子にあるレジスターA、D、M、PCのバックアップレジスターはそれぞれAb、Db、Mb、PCbに対応します。つまり、バックアップレジスターを使うか否かをsbで判定できます。sb=1ならバックアップレジスターを使うわけなので、16ビットセレクターを用意して制御ビットとsbを接続します。そして、D1側にバックアップレジスターの端子をワイヤリングするのです。

8:Iの7と8ビット目の2ビットで、4つのレジスター値を指定します。

ここでもセレクターを使います。3つの16ビットセレクターがあれば十分です。

9:テストする

テストにパスすると、クリアになります。