内容説明
本書の目的は,プログラムがどのような仕組みでコンピュータで動作するのかという疑問に簡潔に答えることである.そのためにVerilogを用いて小さなCPUを設計し,それをターゲットとするアセンブラとコンパイラを作成する。
目次
1. Verilogによる組み合わせ回路の設計
1.1 Verilogの基本構文とシミュレーション
1.1.1 Verilogによる半加算器の回路記述
1.1.2 半加算器のテストベンチ
1.1.3 IcarusVerilogによるシミュレーション
1.1.4 モジュールのインスタンス化
1.1.5 Verilogの定数表現
1.1.6 Verilogの演算子
1.1.7 always文
1.1.8 ビット数可変の組み合わせ回路
1.2 セレクタ回路とその応用
1.2.1 セレクタ回路
1.2.2 7セグメントデコーダ回路
1.2.3 算術論理演算回路
演習問題
2. Verilogによる順序回路の設計
2.1 フリップフロップとカウンタ回路の設計
2.1.1 フリップフロップの設計
2.1.2 カウンタ回路の設計
2.2 ステートマシン回路の設計
2.3 スタック回路の設計
2.4 メモリ回路の設計
演習問題
3. TinyCPUの設計の準備
3.1 演算スタック回路
3.1.1 中置記法と後置記法
3.1.2 演算スタック回路の設計
3.2 命令フェッチ回路
3.3 式計算回路
3.4 拡張命令フェッチ回路
3.4.1 バス
3.4.2 バスを用いた拡張命令フェッチ回路
演習問題
4. TinyCPUの設計
4.1 TinyCPUの構成部品と機械語コード
4.2 TinyCPUの構造と動作
4.3 TinyCPUのVerilogソースコード
4.4 TinyCPUの簡単なプログラム例
4.5 TinyCPUのテストベンチとシミュレーション
演習問題
5. アセンブリ言語プログラミング
5.1 アセンブリ言語とC言語
5.1.1 アセンブリ言語TinyASM
5.1.2 C言語風プログラミング言語TinyC
5.2 基本構文のTinyASMプログラム
5.2.1 代入文
5.2.2 if文
5.2.3 while文
5.2.4 do文
5.3 TinyASMプログラムの例
5.3.1 コラッツの問題
5.3.2 ユークリッドの互除法
演習問題
6. アセンブラの設計
6.1 TinyASMアセンブラ
6.2 Perl超入門
6.2.1 Perlプログラムの基本構造とスカラ変数
6.2.2 ファイルの読み出し,リスト,連想配列
6.2.3 文字列の置換
6.3 アセンブラの設計
演習問題
7. コンパイラの設計
7.1 TinyCコンパイラの概略
7.2 Flexを用いた後置記法の式の計算
7.3 FlexとBisonを用いた中置記法の式の計算
7.3.1 Flexによる字句解析
7.3.2 Bisonによる構文解析
7.3.3 中置記法の式計算プログラムの生成と実行
7.4 代入文専用のコンパイラ
7.4.1 Flexによる字句解析
7.4.2 Bisonによる構文解析
7.5 TinyCコンパイラ
7.5.1 Flexによる字句解析記述
7.5.2 Bisonによる構文解析記述
7.5.3 変数の宣言のための文法規則
7.5.4 if文のための文法規則
7.5.5 ifelse文のための文法規則
7.5.6 while文のための文法規則
7.5.7 do文のための文法規則
7.5.8 halt文とout文のための文法規則
7.5.9 TinyCプログラムのコンパイル例
演習問題
引用・参考文献
索引
感想・レビュー
-
- 電子書籍
- 御曹司との恋に秘密はつきもの【タテヨミ…
-
- 電子書籍
- THE QUEEN~稀代の霊后~【タテ…
-
- 電子書籍
- 【フルカラー】放課後、ラブホで、先生と…
-
- 電子書籍
- 追憶のローマ【分冊】 10巻 ハーレク…
-
- 電子書籍
- かりそめの公爵夫人 1 piccomi…