コンピュータ システム の 理論 と 実装。 コンピュータシステムの理論と実装 Chap1

コンピュータシステムの理論と実装の6章のアセンブラを実装しました

システム 理論 コンピュータ と 実装 の システム 理論 コンピュータ と 実装 の

図や表が豊富であり、最初に受ける印象よりは簡単ではあるが、初心者向けというわけではない。 HDLで加算器やALUを実装する• 乗算プログラム• 実装の結果は予め用意されたシミュレータやエミュレータを通して確認・デバッグできる。

13
a b - carry sum 0 0 - 0 0 0 1 - 0 1 1 0 - 0 1 1 1 - 1 0 これは下記です。

コンピュータシステムの理論と実装 サクッと紹介

システム 理論 コンピュータ と 実装 の システム 理論 コンピュータ と 実装 の

それが繰り返されていく。 Boolean Logic• ・定数を代入する。 And となって And になるじゃんと思ったので以下のような実装になった。

13
まず zxと nx、 zyと nyを考慮した値を求めます。 sel - out 0 - a 1 - b これには次の3つが使えます。

コンピュータシステムの理論と実装 Chap1

システム 理論 コンピュータ と 実装 の システム 理論 コンピュータ と 実装 の

このような仕組みであるため、ソフトウェアの開発は Hack上では行われず、他のコンピュータで作成したバイナリコードをメモリに書き込み、それを Hackに読み込ませる形になる。

11
あれ、ということは7章よりむずいな。 。

コンピュータシステムの理論と実装10

システム 理論 コンピュータ と 実装 の システム 理論 コンピュータ と 実装 の

真理値表 引数とブール関数の値を対応させた表• この抽象化を推し進めることで、記号によるコマンドを用いてプログラムを書くことができる。

10
Mux8Way16の selには address[3. ゲートの構成は下記です。

『コンピュータシステムの理論と実装』読んでコンピュータ作った

システム 理論 コンピュータ と 実装 の システム 理論 コンピュータ と 実装 の

EOF• ・jump領域 jump領域は次にどのコマンドを取り出し実行するかを指定する。 並行・並列処理• Mux8Way16の selには address[9. RAM64 これは RAM8と同じ考え方で下記を変更すればできます。 レベル感は普段プログラム書いてる人なら構えなくても大丈夫なくらいに思います。

この値が変化すると、時間の単位がひとつ進んだことになる。

コンピュータシステムの理論と実装 サクッと紹介

システム 理論 コンピュータ と 実装 の システム 理論 コンピュータ と 実装 の

例えば、 Hackのメモリで使われているレジスタは、16 ビットである。 コンピュータが、単なる計算機ではなく、汎用性や柔軟性を持つ機械になった。 とろとろにとろけきった脳みそをしばらく休めたい。

3
3章 順序回路 Bit これはそのままです。 (の実装が凄く大変でした…) 雑感 実装がかなり大変ですが、普段気にしていなかった「CPUは分岐をどう処理するか」「スコープの異なる変数をメモリはどう扱うか」などが分かり、勉強になりました。

コンピュータシステムの理論と実装 Chap3

システム 理論 コンピュータ と 実装 の システム 理論 コンピュータ と 実装 の

展望 p242• ソフトウェア Hackアーキテクチャでは、コンピュータへの命令を格納するメモリとデータを格納するメモリは分かれており、命令を格納するメモリは読み込み専用になっている。 以外の言語実装がどれだけかったるいかが身にしみる章だった。

11
1]を使って DMux4Wayで inを4つに分離します。

コンピュータシステムの理論と実装(1)

システム 理論 コンピュータ と 実装 の システム 理論 コンピュータ と 実装 の

クロックの値の変化を時間の単位とすることで、クロックの値が切り替わるまでに全ての回路に最新の値が行き渡り処理が終わっていれば、同期が取れていることになる。 そのため、マルチタスクは対応しておらず、コンパイルしたアプリケーションをハードウェアで直接実行する形になっている。

9
この仕組みによって時間を表現することができる。 サクッと紹介していきます。