SBクリエイティブ

「プログラミング」のキホン

杉浦 賢:著者

イチバンやさしい理工系

プログラミンをマスターするには、プログラムがどのようにして動作しているのかを知ることが近道です。本書は その「からくり」を、コンピュータの知識をもたない初心者でも理解できるように、なるべく日常にあるものを題材にしながら説明します。

コンピュータの最小要素であるCPUやメモリなどについて、その構成や役割がわかり、さらに、コンピュータの動作を語るうえで欠かせない2進数についても、初心者が無理なく理解できるように図解します。さらには、外部機器の制御をどのようにするかについても、実行速度を向上させるためのハードウェアまわりの話とともに解説していきます。

第1章 コンピュータを構成するもの
001 コンピュータを構成する5つの機能 (入力、出力、記憶、演算、制御)
002 演算と制御を行う中央演算処理装置(CPU) …
003 CPUの構成要素(制御装置、演算装置、クロック、レジスタ群)
004 レジスタは使用目的が決められている記憶領域(専用レジスタと汎用レジスタ)
005 記憶機能を受け持つ主記憶装置(メモリ)(アドレスにより管理されるメモリセル)
006 主記憶装置はアドレス値が添え字の配列である
007 主記憶装置のアドレスを指し示す方法(リニア方式、ベースレジスタ方式、セグメント方式)
008 主記憶装置には用途別にROM、RAMの2つの種類がある
009 プログラムは主記憶装置を用途別に利用する
010 入力、出力の機能を受け持つ外部機器 (I/Oインターフェース)
011 バスはデータ信号の通り道
コラム 「コンピュータの父」とも呼ばれるジョン・フォン・ノイマン

第2章 コンピュータ内のデータ表現
012 コンピュータで扱う最小のデータ単位はビット「0」と「1」
013 コンピュータのデータ表現には2進数が便利
014 2進数を見易くまとめたのが8進数と16進数
015 コンピュータのデータの基本サイズは1バイト(=8ビット)
016 データサイズにより扱える数値範囲が決まる
017 10進数を表現するBCD表現(ゾーン形式、パック形式)
018 10進数から2進数への基数変換の方法
019 2進数から10進数への基数変換の方法
020 10進数から8進数,16進数への基数変換の方法
021 8進数,16進数から10進数への基数変換の方法
022 2進数と8進数,16進数の相互基数変換の方法
023 負の数を扱えるようにする2の補数表現
024 浮動小数点数による実数の表現
025 コンピュータで扱う文字(文字コード) (ASCII, EBCDEC)
026 コンピュータで漢字扱うための文字コード体系 (Shift-JIS, UNICODE, UTF-8)
027 コンピュータで扱う文字列の表現方法(番兵方式、文字長方式)
コラム 1バイトデータの2進数、10進数、16進数の対応を暗記しよう

第3章 2進データ(ビット)の操作
028 論理和は,少なくともどちらか一方が「1」なら「1」となる演算
029 ある位置のビットを「1」にしたい場合、論理和演算を行う
030 論理積は,両方が「1」なら「1」となる演算
031 ある位置のビットを「0」にしたい場合、論理積演算を行う
032 ある位置のビットが「1」かどうか判断したい場合、論理積演算を行う
033 排他的論理和は,2つのビット値が異なれば「1」となる演算
034 ある位置のビットを反転したい場合、排他的論理和演算を行う
035 ビット反転(否定)は,「0」を「1」に,「1」を「0」にする演算 (排他的論理和演算でも可能)
036 論理演算の基本公式
037 ド・モルガンの法則を使うと否定の論理を整理して考えられる
038 排他的論理和を論理積、論理和、否定で表現する方法
039 左シフトは,ビットを指定したビット数だけ左へ移動する演算(論理左シフト、算術左シフト)
040 左シフトにより,元のデータを2倍、4倍、8倍…することができる
041 右シフトは,ビットを指定したビット数だけ右へ移動する演算(論理右シフト、算術右シフト)
042 右シフトにより,元のデータを1/2倍、1/4倍、1/8倍…することができる
043 ビットシフトにより,元のデータを10倍する方法
044 シフトを利用した効率のよい2進数の掛け算
045 1ずつ加減するのがインクリメントとデクリメント
046 データのオーバーフローとアンダーフロー
コラム 2のn乗の値を暗記しよう

第4章 I/O(Input/Output)制御
047 I/Oポートは,外部機器をコントロールする窓口 (ポート方式,メモりマップドI/O)
048 入力機器からのデータの読み取る (8つのスイッチを例に)
049 出力機器へのデータの出力 (7セグLEDを例に)
050 外部機器の変化をチェックして回るのがポーリング方式
051 外部機器の変化が通知されるのが割り込み方式
052 割り込みによるデータ値の健全性が保てない可能性のあるクリティカルセクション
053 割り込みの禁止・許可により排他制御
コラム シリアルとパラレル

第5章 プログラムが動く「からくり」
054 プログラムコードは機械語というコード群で構成される
055 プログラムは、プログラムカウンタにより順次実行される(プログラムカウンタの役割)
056 クロック発信器は,ゼンマイのような動力源である
057 プログラムの起動はリセット機能により実現される
058 基本的な演算命令(加算、減算、シフト)
059 演算命令とフラグレジスタの関係(算術演算、論理演算)
060 比較命令はフラグレジスタだけを変化させる減算命令である
061 ビット論理演算命令
062 メモリやレジスタ間のデータ転送命令(ロード・ストア)
063 様々ある実効アドレスの指定

■著者:
現在、フリーウェア代表。著書に、『「アルゴリズム」のキホン』(ソフトバンク クリエイティブ株式会社)、『図解入門 よくわかるアルゴリズムの基本と仕組み』『基本情報技術者試験 図解でわかるアルゴリズムの基本と仕組み』『情報処理教科書弱点克服アルゴリズムの解き方』『C/C++ミスプログラミング ケーススタディ』『図解・標準 最新C++ハンドブック』など多数がある。

定価:1,650円(本体1,500円+10%税)

書籍情報

  • 発売日:2011年9月16日(金)
  • ISBN:978-4-7973-6651-8
  • サイズ:A5/フルカラー
  • ページ数:176
  • 付録:-

著者紹介

関連商品のご案内

もっと見る

試し読み新着お届け

もっと見る