Instruction Decoder【Turing Complete編】
はじめに
いつもブログをご覧いただきありがとうございます。
コーストFIRE中のIPUSIRONです😀
Instruction Decoderステージ
Instruction Decoderステージのゴールは、Instructionのためのビット列(以降Instructionビット列と呼ぶ)の上位2桁でモードを振り分ける回路を組むことです。
次の4つのモードが定義されているものとします。
※「x」は0 or 1になります。
Instructionビット列 | 指示の内容 |
---|---|
00xx xxxxb | Immediate |
01xx xxxxb | Calculate(Compute) |
10xx xxxxb | Copy |
11xx xxxxb | Condition |




RegistersモードではCopyモードの場合だけに注目しました。このときは上位2桁は無視していましたが、本来は10bのときにCopyモードになるということです。
Instruction Decoderステージを解く
1:回路を組む
右側にある4つの出力端子は、各モード(Immediate、Calculation、Copy、Condition)に対応します。
これは素朴に考えるだけで解けます。
Input端子はInstructionビット列(8ビット)なので、まずは8 Bit Splitterを通して分離します。
次に3 Bit decoderを通して、4本に分岐させます。ただし、4つのモードは2進数2桁に対応しており、3 Bit decoderの入力は2ビット分しか使いません。
最後に、4本のワイヤーを各モードの出力端子につなげればよいことになります。

2:テストする
テストにパスすれば、回路がセーブされて、Component Factoryで使えるようになります。
DECコンポーネントがアンロックされます。

