コンピュータシステムの理論と実装 コンピュータそのもの
TOP > てきとうにこらむ > ゲーム作りとプログラミング日記 > コンピュータシステムの理論と実装 コンピュータそのもの
ハードウェアの頂、コンピュータ
CPUも作ったし、コンピュータを作成した。
最後のとりで、Memory
このコンピュータでは、16キロバイト + 8キロバイト(グラフィックメモリ) + 2バイトで構成されている。ということで、以下の様なHDLになった。
CHIP Memory {
IN in[16], load, address[15];
OUT out[16];
PARTS:
// Put your code here:
DMux(in = load, sel = address[14], a = d0, b = d1);
RAM16K(in = in, load = d0, address = address[0..13], out = w0);
Screen(in = in, load = d1, address = address[0..12], out = w1);
Keyboard(out = w2);
And(a = address[14], b = address[13], out = ik);
Mux16(a = w0, b = w1, sel = address[14], out = o1);
Mux16(a = o1, b = w2, sel = ik, out = out);
}
先頭1ビットをRAM16Kに使うのか、Screenに使うのか判断。先頭2ビットが1だった場合、Keyboardを呼び出す。
とうとう出来た、CPU
あとは、作ったこれらとROM32Kを合わせればよろし。
CHIP Computer {
IN reset;
PARTS:
// Put your code here:
ROM32K(address = pc, out = address);
CPU(inM = memory, instruction = address, reset = reset, writeM = load, outM = value, addressM = addressM, pc = pc);
Memory(in = value, load = load, address = addressM, out = memory);
}
一覧
- コンピュータシステムの理論と実装 ブール論理
- コンピュータシステムの理論と実装 ブール論理のつづき
- コンピュータシステムの理論と実装 ALUの実装
- コンピュータシステムの理論と実装 レジスタとメモリとカウンタ
- コンピュータシステムの理論と実装 機械語
- コンピュータシステムの理論と実装 CPU
- コンピュータシステムの理論と実装 コンピュータそのもの
- コンピュータシステムの理論と実装 アセンブラ
- コンピュータシステムの理論と実装 バーチャルマシン#1
- コンピュータシステムの理論と実装 バーチャルマシン#2