試験公開中

このエントリーをはてなブックマークに追加

作ろう!CPU 基礎から理解するコンピューターのしくみ

マイナビ出版

3,828円 (3,480円+税)

69行のソースコードで設計する、超単純な4bit CPU。本書はCPUの正体、さらにその周囲のモジュールとの関係性についても説明します。そうしてコンピューター全体の回路を見通しよく整理できるようになります。物理と情報科学のギャップを埋めることが、本書の真の目的です。

関連サイト

本書の関連ページが用意されています。

内容紹介

[作ってはじめてわかるCPUのしくみと動き]

小学校で習ったことのある回路図から出発。計算のかわりに回路図に「矢印を描く」という方法で電気を理解します。ひたすら矢印を描くうちに、CPUのしくみが理解できるようになります。

そして「ハードウェア記述言語」を使ってCPUを完成させます。記述コードはパソコン上のシミュレーターで動かすことができますがFPGA評価ボードがあれば作った回路を実際に動かすことができます。

本書はCPUの正体について説明し、さらにその周囲のモジュールとの関係性についても説明します。そうしてコンピューター全体の回路を見通しよく整理できるようになります。物理と情報科学のギャップを埋めることが、本書の真の目的です。

読者の皆様の頭の中で、学校で習った豆電球の回路図と情報処理装置としてのCPUが繋がっていれば嬉しく思います。

学生・エンジニアに向けたコンピューターのしくみの解説書。

書誌情報

  • 著者: 上原周
  • 発行日: (紙書籍版発行日: 2020-08-28)
  • 最終更新日: 2020-08-28
  • バージョン: 1.0.0
  • ページ数: 208ページ(PDF版換算)
  • 対応フォーマット: PDF
  • 出版社: マイナビ出版

対象読者

著者について

上原周

IT企業勤務。物理と数学と情報科学の隙間のような領域に興味があります。

目次

まえがき

目次

0章 はじめに

  • 0.1 想定読者
  • 0.2 電気がわからない
  • 0.3 どんなCPUを作るのか
  • 0.4 完成版の回路図
  • 0.5 プログラムを走らせる
  • 0.6 本書の読みかた

Part 1 回路の基礎

1章 電池と抵抗の論理回路

  • 1.1 小中学校の復習
  • 1.2 断線したワイヤー
  • 1.3 電圧の求めかた
  • 1.4 CPUを作る5種類のパーツ
  • 1.5 論理回路の定義
  • 1.6 論理の方向
  • 1.7 非論理回路(電圧条件の破綻)
  • 1.8 非論理回路(矢印条件の破綻)
  • 1.9 一般的な論理回路
  • 1.10 スイッチ
  • 1.11 一番大切なこと

2章 トランジスタと論理ゲート

  • 2.1 nMOS
  • 2.2 状態
  • 2.3 NOTゲート
  • 2.4 電池の省略記法
  • 2.5 モジュールと入出力ポート
  • 2.6 NANDゲート
  • 2.7 その他の論理ゲート
  • 2.8 ♠ なぜ論理ゲートを使うのか

3章 ゲートの回路

  • 3.1 組合回路と順序回路
  • 3.2 NOTゲートの多段回路
  • 3.3 ゲートの回路のニセモノ
  • 3.4 ♠ SRAM回路
  • 3.5 ♠ リングオシレーター
  • 3.6 ♠ ゲートの回路の分類

4章 ハードウェア記述言語

  • 4.1 何を記述するのか
  • 4.2 接続
  • 4.3 ソースコードと回路図
  • 4.4 数値リテラル
  • 4.5 同じ動作の回路
  • 4.6 非論理回路と再代入
  • 4.7 回路の構造化とモジュール
  • 4.8 入出力ポートを持つモジュール
  • 4.9 モジュールの埋め込み
  • 4.10 ♠ プログラミング言語とハードウェア記述言語

Part 2 CPU の材料

5章 組合回路

  • 5.1 組合回路の概要
  • 5.2 トポロジカルソート
  • 5.3 逐次的なassign文
  • 5.4 ♠ 純粋性
  • 5.5 真理値表
  • 5.6 マルチプレクサ
  • 5.7 ♠ 真理値表を回路図に変換
  • 5.8 ♠ 大きな真理値表

6章 真理値表のコーディング

  • 6.1 always_combブロック
  • 6.2 case文
  • 6.3 ♠ case文の簡略化
  • 6.4 ♠ if文
  • 6.5 ♠ 真理値表の上塗り
  • 6.6 ♠ ダメなコード(真理値表の埋め忘れ)
  • 6.7 ♠ ダメなコード(入出力の混乱)

7章 D フリップフロップ

  • 7.1 状態遷移図
  • 7.2 タイムチャート
  • 7.3 DFFと上書き保存
  • 7.4 DFFの状態遷移図
  • 7.5 DFFのループ回路
  • 7.6 ♠ オートマトン
  • 7.7 DFFのコーディング
  • 7.8 ♠ 複数のDFFを含む回路
  • 7.9 ♠ 2種類の代入
  • 7.10 ♠♠ DFFの内部構造

8章 状態遷移の一般論♠

  • 8.1 ♠ 遅延解析と不定遷移
  • 8.2 ♠ 同時操作の安定性
  • 8.3 ♠ 単一入力の順序回路の分類
  • 8.4 ♠ 組合ループを持たない回路
  • 8.5 ♠ クロックスキュー
  • 8.6 ♠ ミーリー型回路
  • 8.7 ♠ DFFのメタステーブル
  • 8.8 ♠ シンクロナイザと最長経路
  • 8.9 ♠ 制約条件と解析手順の関係
  • 8.10 ♠ ムーア型回路

Part 3 CPU を作る

9章 LEDチカチカ回路

  • 9.1 クロック生成器
  • 9.2 DFFのリセット
  • 9.3 リセットボタン
  • 9.4 LEDモジュール
  • 9.5 分周器
  • 9.6 回路の全体像
  • 9.7 回路図のコーディング
  • 9.8 制約ファイル

10章 1bitのコンピューター

  • 10.1 NOP命令の追加
  • 10.2 ROM(メモリ)
  • 10.3 プログラム
  • 10.4 命令ポインタ
  • 10.5 1bitのCPU
  • 10.6 マザーボード
  • 10.7 回路の全体像
  • 10.8 ♠ テストベンチ
  • 10.9 ♠ 電圧のシミュレーション

11章 多重ワイヤー

  • 11.1 多重ワイヤーの回路図
  • 11.2 多重ワイヤーの接続
  • 11.3 整数
  • 11.4 加算器
  • 11.5 レジスタ
  • 11.6 ♠ 基本論理素子のbit拡張
  • 11.7 ♠ 等号比較

12章 TD4

  • 12.1 回路の全体像
  • 12.2 レジスタ構成
  • 12.3 TD4のCPUの回路図
  • 12.4 TD4のCPUのコード
  • 12.5 TD4の組合回路
  • 12.6 命令セット
  • 12.7 ジャンプ命令
  • 12.8 ループと条件分岐
  • 12.9 キッチンタイマー

Part 4 TD4 の先へ

13章 コードの抽象化♠

  • 13.1 ♠ 回路の全体像
  • 13.2 ♠ インターフェイスの宣言
  • 13.3 ♠ インターフェイスの使い方
  • 13.4 ♠ マスターとスレーブ
  • 13.5 ♠ インターフェイスの引数
  • 13.6 ♠ 機械語ファイル
  • 13.7 ♠ CPUのステージ分割
  • 13.8 ♠ 構造体
  • 13.9 ♠ 列挙体
  • 13.10 ♠ パッケージ
  • 13.11 ♠ ファンクション
  • 14章 高度なトピック♠
  • 14.1 ♠ TD4を改造する
  • 14.2 ♠ 割り込み
  • 14.3 ♠ 回路クラスのまとめ
  • 14.4 参考文献

付録 力学系としての論理回路 ♠♠

  • 付録1.1 ♠♠ 回路の定義
  • 付録1.2 ♠♠ 相空間
  • 付録1.3 ♠♠ 素過程と遅延解析
  • 付録1.4 ♠♠ 時間発展のフロー
  • 付録1.5 ♠♠ 可能な状態遷移
  • 付録1.6 ♠♠ 確率的有限状態機械(PFA)
  • 付録1.7 ♠♠ 初期値の鋭敏性
  • 付録1.8 ♠♠ CPUとは何か

あとがき

索引

Home 書籍一覧 作ろう!CPU 基礎から理解するコンピューターのしくみ ▲ ページトップへ戻る