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

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

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

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

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

Combined Memory【NandGame編】

はじめに

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

FIRE生活中のIPUSIRONです😀

IPUSIRONのプロフィールを見る

Combined Memoryレベル

Combined Memoryレベルのゴールは、複合メモリーを組むことです。

プロセッサーのメモリーは、AおよびDと呼ばれる2つの16ビットレジスターとRAMユニットで構成されます。

a、d、*aという書き込み用のフラグが用意されています。フラグは組み合わせられ、Xは同時に複数のレジスターに書き込めます。例えば、3つのフラグがすべて0の場合は、入力Xは無視されます。

入力・a:書き込みフラグの1つ。AレジスターにXを書き込む。
・d:書き込みフラグの1つ。DレジスターにXを書き込む。
・*a:書き込みフラグの1つ。Aレジスターで指定されたアドレスのRAMにXを書き込む。
・X:16ビットのデータ。
・cl:クロック信号
出力・A:Aレジスターの現在値。
・D:Dレジスターの現在値。
・*A:レジスターAで指定されたアドレスのRAMの現在値。
複合メモリーの入出力

Combined Memoryレベルを解く

1:回路を設計する

複合メモリーの説明にあるように、2つのレジスターと1つのRAMを用意します。それぞれregisterコンポーネント、ramコンポーネントに対応します。

registerコンポーネント
ramコンポーネント

3つの書き込み用のフラグは、registerコンポーネントやramコンポーネントのstピンに接続すればよさそうです。

2:Aレジスターの周辺回路を実装する

3:Dレジスターの周辺回路を実装する

4:RAM周辺の回路を実装する。

ramコンポーネントのstピン、clピン、outputピンを接続します。

残されたAdピンについて考えます。Adピンにはアドレスを与えますが、当該回路では「Aレジスターで指定されたデータ値」をRAMにおけるアドレスとして扱います。つまり「AレジスターのOutputピン」と「RAMのAdピン」をつなげます。

この回路は3つのコンポーネントが使われており、内部的には480個のNandゲートから構成されています。