第1章 コンピュータの基礎 1 |
1.1 コンピュータの構成 1 |
1.2 情報の表現とCPUのビット数 2 |
1.2.1 アナログとディジタル 3 |
1.2.2 2進数と情報の表現 3 |
1.2.3 2進数と16進数の変換 4 |
1.2.4 負数の表現 5 |
1.3 プログラミングと言語 5 |
1.4 コンピュータの回路構成 6 |
1.5 CPUの内部構造 7 |
1.6 フェッチサイクルと実行サイクル 8 |
1.7 CPUのアーキテクチャ 9 |
演習課題1 9 |
第2章 エミュレータによる動作理解 10 |
2.1 演習用マイコンK-COMの仕様 10 |
2.1.1 仕様概要 10 |
2.1.2 命令構成 11 |
2.1.3 機械語 12 |
2.1.4 メモリおよびI/Oマップ 13 |
2.1.5 その他の仕様 13 |
2.2 K-COMの回路構成 14 |
2.2.1 回路構成の概略 14 |
2.2.2 動作時の信号の流れ 15 |
2.2.3 レジスタ 18 |
2.2.4 ALUとアキュームレータ 18 |
2.2.5 メモリ 18 |
2.2.6 I/Oポート 20 |
2.2.7 制御構造 20 |
2.3 K-COMエミュレータを用いた演習 21 |
2.3.1 K-COMのインストールと起動 21 |
2.3.2 K-COMの実行例 24 |
2.3.3 アセンブラ 26 |
2.3.4 基本パーツと動作 28 |
2.3.5 入出力パーツを用いた演習 33 |
演習課題2 36 |
第3章 回路シミュレータを用いたK-COMの設計 37 |
3.1 ディジタルICとは 37 |
3.1.1 TTL とCMOS-IC 37 |
3.2 Quartus II 39 |
3.2.1 インストールとライセンス認証 40 |
3.2.2 Quartus IIによる回路シミュレーション 40 |
3.3 論理回路によるK-COMの設計 48 |
3.3.1 使用パーツの動作確認 48 |
3.3.2 K-COMのパーツ分割 55 |
3.3.3 K-COMの全回路 65 |
演習課題3 66 |
第4章 ハードウェア記述言語を用いたK-COMの設計 67 |
4.1 HDLとFPGAへの実装 67 |
4.1.1 HDL 67 |
4.1.2 FPGAボード 68 |
4.1.3 Quartus IIを用いた実装手順 69 |
4.2 AHDL文法概説 73 |
4.2.1 基本セクション 73 |
4.2.2 数字・定数 75 |
4.2.3 組み合わせ論理回路 76 |
4.2.4 順序回路 80 |
4.2.5 階層プロジェクト 84 |
4.3 AHDLによるK-COMの設計 87 |
4.3.1 K-COMのパーツ分割 88 |
4.3.2 K-COMの全回路記述 101 |
演習課題4 107 |
第5章 K-COMの拡張 108 |
5.1 汎用CPUとの比較 108 |
5.1.1 レジスタ・命令 108 |
5.1.2 メモリアドレス・I/Oアドレス 109 |
5.1.3 サブルーチン 109 |
5.1.4 割り込み 110 |
5.2 K-COMの拡張 110 |
演習課題5 117 |
第6章 汎用CPUのアーキテクチャとPCのハードウェア 118 |
6.1 汎用CPUのアーキテクチャ 118 |
6.1.1 CPUの歴史と種類 118 |
6.1.2 汎用CPUの内部構造 119 |
6.1.3 CPU高速化の手法 120 |
6.2 PCのハードウェア 122 |
6.2.1 PCの歴史 122 |
6.2.2 マザーボードとチップセット 123 |
6.2.3 メモリと補助記憶装置 126 |
6.2.4 入出力機器 130 |
6.2.5 各種インターフェース 130 |
演習課題6 132 |
付録 本書で使用したツールやソースファイルの入手方法 133 |
演習問題の解答例 139 |
参考文献 145 |
さくいん 146 |