3章の備忘録です。
以下記事が参考になります。
コンピュータシステムの理論と実装3
コンピュータサイエンス入門 第8回
順序回路
時間が経過してもデータを記憶させておく仕組みを実現する回路です。
2章で行なった組合わせ回路は、入力の組み合わせで値が確定するので、多くの処理が可能となります。
しかし、値を保持することができません。
そこで順序回路の出番ということになります。
フリップフロップ(D型: DFF)
この実装により、「前に思い出したものを思い出す」、つまり記憶装置を作ることが可能になります。
順序回路はこのDFFの組み合わせで構成されています。
式としては、out(t) = in(t-1)
を実現することができます。
レジスタ
データを格納したり、呼び出したりすることが可能な記憶装置です。
loadが1の場合、読み込み、loadが0の場合、値の保持を行います。
式としては、out(t) = out(t-1)
を実現することができます。
1ビットレジスタ
load は上書きの有無を表します。
CHIP Bit {
IN in, load;
OUT out;
PARTS:
Mux(a=fb, b=in, sel=load, out=w1);
DFF(in=w1, out=out, out=fb);
}
w ビットレジスタ
1ビットレジスタを重ねていくことで構築することが可能です。
また**幅(width)**とは、保持すべきビットの数をさします。
RAM(Random Access Memory)
データ入力、アドレス入力、ロードビットの3つを入力として受け取ります。
CHIP RAM8 {
IN in[16], load, address[3];
OUT out[16];
PARTS:
DMux8Way(in=load, sel=address, a=a, b=b, c=c, d=d, e=e, f=f, g=g, h=h);
Register(in=in, load=a, out=out1);
Register(in=in, load=b, out=out2);
Register(in=in, load=c, out=out3);
Register(in=in, load=d, out=out4);
Register(in=in, load=e, out=out5);
Register(in=in, load=f, out=out6);
Register(in=in, load=g, out=out7);
Register(in=in, load=h, out=out8);
Mux8Way16(a=out1, b=out2, c=out3, d=out4, e=out5, f=out6, g=out7, h=out8, sel=address, out=out);
}
RAM、ROM 違い
RAM → Read, Write ができるメモリ
ROM → Readだけができるメモリ
RAMとROMの違い - 日本パソコンインストラクター養成協会
知らないと恥ずかしい? メモリの「RAM」と「ROM」の違い
全体像
メモリの中にRAMが存在し、
RAMの中にw ビットレジスタが存在し、
w ビットレジスタの中に1ビットレジスタが存在し、
1ビットレジスタの中にDFFが存在するという構成だと理解しています。
俯瞰的に見ると、メモリの中身を作っていることになると思います。
メモリとRAMはほぼイコールなのかな?。。。