算数で読み解く コンピュータのしくみ

書籍の概要

この本の概要

コンピュータは多くの先人たちの知識や技術の結晶といえますが,その基本的なしくみは小学校で習った算数や理科の知識で十分に理解できます。本書は,この道ひとすじのコンピュータ科学者が「コンタ」という簡単なコンピュータをモデルにして,徹底的に原理を解説。イラストや図も工夫してわかりやすくしていますが,ごまかしはありません。じっくり読み進めれば,やがてコンピュータの驚異的なしくみが鮮明に見えてくることでしょう。

こんな方におすすめ

  • コンピュータのしくみを知りたいかた

この書籍に関連する記事があります!

算数の知識で学ぶ コンピュータのしくみ
本書は、この道ひとすじのコンピュータ科学者が「コンタ」という簡単なコンピュータをモデルにして、徹底的に原理を解説。イラストや図も工夫してわかりやすくしていますが、ごまかしはありません。

目次

[第1部]コンピュータができるまで

第1章 コンピュータの世界への第一歩

  • 1-1 どこでもコンピュータ
    ……コンピュータなしでは成り立たない私たちの生活
  • 1-2 コンピュータと電卓
    ……何が違う?

第2章 コンピュータをコンピュータらしくしたプログラム内蔵方式

  • 2-1 プログラム内蔵方式の発明
  • 2-2 プログラム内蔵方式による命令の実行
    ―― ことばで動くコンピュータ:ことばコンタ
    • ちょっと一休み コンピュータの歴史

[第2部]コンピュータの基本となるビットの世界

第3章 ビットを単位として情報を表現する

  • 3-1 ビットという単位
    ……コンピュータのなかはすべて0か1
    • ちょっと一休み 0か1か決められない?
  • 3-2 数値データの表現と計算
  • 3-3 文字データの表現
  • 3-4 アナログ情報の表現
    • ちょっと一休み 人間の五感とディジタル化

第4章 ビットを単位として命令を表現する

  • 4-1 ビットの世界で「コンタ」を定義する
    ―― 0,1で動くコンピュータ:ビットコンタ
  • 4-2 ビットコンタの命令を使って足し算をする

[第3部]ハードウェアの世界

第5章 ビットを単位として処理する

  • 5-1 ランプ(豆電球)とスイッチから始めよう
    • ちょっと一休み ランプはなぜ点くか? 抵抗器の話
  • 5-2 処理の基本となるANDとORとNOT
    • ちょっと一休み 論理の世界と情報
  • 5-3 ANDとORとNOTを活用する
    • ちょっと一休み ド・モルガン則
  • 5-4 ランプとスイッチ以外の論理素子
    ―― リレーとトランジスタ
    • ちょっと一休み リレーコンピュータ
    • ちょっと一休み NANDかNORがあれば十分
    • ちょっと一休み n-MOS,p-MOS,CMOS

第6章 入力だけで出力が決まる回路―組み合わせ回路

  • 6-1 入力と出力の組み合わせから論理回路を設計する
  • 6-2 2点スイッチのしくみを表す回路
    ―― 排他的論理和
  • 6-3 1ビットの足し算をする回路
  • 6-4 2ビット以上の足し算ができる回路
  • 6-5 2進数の表すビット位置を指す回路
    ―― デコーダ
  • 6-6 ビットを指したときその位置を2進数で表す回路
    ―― エンコーダ
  • 6-7 複数ある入力から1つを選ぶ回路
    ―― セレクタ

第7章 記憶をする回路 ―― 順序回路

  • 7-1 順序回路とは?
  • 7-2 記憶する回路を実現する
  • 7-3 時間の概念を導入する
    • ちょっと一休み クロック信号

[第4部]ハードウェアの世界でビットコンタを実現する

第8章 ビットコンタのハードウェア構成と命令サイクル

  • 8-1 ビットコンタを構成する
  • 8-2 組み合わせ回路と順序回路を使ってビットコンタを構成する
    • ちょっと一休み いろいろなメモリ
    • ちょっと一休み 自動販売機の設計

[第5部]ビットコンタの上に構築するソフトウェアの世界

第9章 コンタの世界でプログラムを作る ―― ソフトウェアへの第一歩

  • 9-1 ハードウェアとソフトウェアをつなぐ機械語
  • 9-2 機械語ではプログラムが作りにくい
  • 9-3 機械語プログラムを作りやすくするアセンブリ言語
  • 9-4 ビットコンタのプログラム作りを助けるASCシステム
  • 9-5 機械語プログラムの振る舞いを模擬するシミュレータ

第10章 コンピュータでの処理の手順を考える

  • 10-1 処理の手順とは何だろう
  • 10-2 手順を表現するためにまず流れ図を描いてみよう
  • 10-3 コンタでのかけ算の手順を考える
    • ちょっと一休み 分岐命令の役割
  • 10-4 作ったプログラムを活用する
    ―― かけ算を使って階乗を計算する
    • ちょっと一休み 限界に挑戦する
  • 10-5 かけ算と階乗の実行命令数を比較する
  • おわりに コンタの先にある世界
  • 参考文献

[付録]

  • 付録1 ASCモデルコンピュータ ―― ビットコンタの生みの親
  • 付録2 ASCシステムについて
  • 付録3 Dフリップフロップの動作,およびDラッチとの比較
  • 付録4 かけ算,割り算の高速化
  • 付録5 制御回路の設計と動作の確認

著者プロフィール

馬場敬信(ばばたかのぶ)

  • 1970年 京都大学工学部数理工学科卒業
  • 1975年 京都大学大学院工学研究科数理工学専攻博士課程単位取得退学
  • 1975年 電気通信大学助手
  • 1978年 工学博士(京都大学)
  • 1982年 文部科学省在外研究員(米国メリーランド大学客員教授)
  • 1990年 宇都宮大学教授
  • 2009年 宇都宮大学理事・副学長
  • 2013年 宇都宮大学名誉教授

情報処理学会フェロー,電子情報通信学会フェロー

  • 著書:『Microprogrammable Parallel Computer』(The MIT Press, 1987)
  • 『コンピュータのしくみを理解するための10章』(技術評論社,2005)
  • 『コンピュータアーキテクチャ(改訂5版)』(オーム社,2020)など