前書き
自作OS(mikanos)の本を読んでいたのですが、9章ぐらいで何が何だかわからなくなってきました。
今の自分にはハードルが高すぎたので、またいつか取り組みたいです。
コンピュータシステムの理論と実装を以前からやろうやろうと思っていたので、こちらを学習していこうと思います。
1章
この本は、読む→自分で考えて実装を各章繰り返していく形式になっています。
1章は、NANDというゲートを使用して、NOTやAND、ORなどのゲートを実装していく内容でした。
もっとシンプルにできるかもしれませんが、いったんすべてのゲートの実装が完了しました。
Not
CHIP Not {
IN in;
OUT out;
PARTS:
Nand(a=in, b=in, out=out);
}
And
CHIP And {
IN a, b;
OUT out;
PARTS:
Nand(a=a, b=b, out=out2);
Not(in=out2, out=out);
}
Or
CHIP Or {
IN a, b;
OUT out;
PARTS:
Not(in=a, out=out1);
Not(in=b, out=out2);
Nand(a=out1, b=out2, out=out);
}
みたいな感じで実装していきました。