紙の本
一度は読むべき本だが、何回も読み返すほどの本ではないかな。
2021/03/02 03:00
0人中、0人の方がこのレビューが役に立ったと投票しています。
投稿者:とある工学部学生 - この投稿者のレビュー一覧を見る
CPUの役割やメモリの構造について平易かつ詳しく説明してあるので、タイトルの通りプログラムが実行される流れを知りたい人や、C言語のポインタで躓いている人が読むと、何か新しい発見があるかもしれません。ただし具体的な技術書というよりは概説書の色が濃く、各事項も深く解説しているわけではないので、ある程度知識のある人は一度読めばそれで充分だと思います。あくまで副読本といった印象です(副読本としてはかなりの良書だと思います)。
紙の本
内容紹介
2007/04/16 18:43
3人中、2人の方がこのレビューが役に立ったと投票しています。
投稿者:日経BP社* - この投稿者のレビュー一覧を見る
『プログラムはなぜ動くのか』6年ぶり、待望の改訂第2版!
プログラムがコンピュータの中でどのように動作するのかを、誰にでもわかるように説明しました。プログラムは、メモリーにロードされ、CPUによって解釈・実行されます。その仕組みを、多数の図を使って、順序だてて解説していきます。第2版では、第1版で特に関心の高かったプログラムがメモリーをどう利用しているかについて、より丁寧な説明を加えたほか、多くの注釈を入れました。また、サンプル・プログラムを、第1版のVisual Basicからプログラムの動きが見えやすいC言語に統一し、巻末にC言語の構文を説明した補章を追加しました。初級者、中級者の人、どちらにもお勧めです。
特徴1:CPU、メモリー、プログラムの動作環境など・・基礎からきちんと解説!
特徴2:メモリーについて充実した説明!
特徴3:Windowの仕組みわかる!
【構成】
第1章 プログラマにとってCPUとはなにか
第2章 データを2進数でイメージしよう
第3章 コンピュータが小数点数の計算を間違える理由
第4章 四角いメモリーを丸く使う
第5章 メモリーとディスクの親密な関係
第6章 自分でデータを圧縮してみよう
第7章 プログラムはどんな環境で動くのか
第8章 ソース・ファイルから実行可能ファイルができるまで
第9章 OSとアプリケーションの関係
第10章 アセンブリ言語からプログラムの本当の姿を知る
第11章 ハードウエアを制御する方法
第12章 コンピュータに「考え」させるためには
補 章 レッツ・トライ C言語!
投稿元:
レビューを見る
☆☆☆
CPUやメモリをはじめとするハードウェアの仕組みや、アセンブリ言語などコンピュータの基礎知識をやさしく学べる2冊。
投稿元:
レビューを見る
2008/05/05読了
プログラムについてある程度知識が備わってから読むと、自分の知識が整理できる。
オススメ。
投稿元:
レビューを見る
とてもわかりやすい。
大事な大事なコンピュータアーキテクチャの授業を、人間的にも教員的にも最悪な人間に教わったせいで、大嫌いな部分だったけど、この本のおかげでやっと本質を理解できた気がする。
投稿元:
レビューを見る
1回目読んだときは研修中でまだ言語とか初めてないくらいのときで、
へぇーくらいにしか思ってなかったんですが、
改めて半年たって読むと、そうゆうことそうゆうことってすごい納得できました◎
プログラムを作るうえで常に意識しておきたいこと、
基礎的なことがぎっしりつまっています。
SEとして1年後にはまた読みたい、読まなければならない一冊!!
投稿元:
レビューを見る
アセンブリ言語のところの、各レジスタの内容とかは普段意識せずにプログラムを書いていただけに、参考になった。
メモリとかを意識しながら、これからはプログラムを書いてみようと思った。
とりあえず、Cで簡単なプログラムを書いて、アセンブリ言語に変換して中身を見るところから始めようかな。
投稿元:
レビューを見る
こちらとなぜコンピュータは動くのか?は2冊合わせて読むことをおすすめします。
特に基本情報技術者試験を受けようと思っている人のために。
これらの知識は情報処理に関わっていく上では朽ち果てない知識なので、持っていて損はないでしょう。
投稿元:
レビューを見る
<感想>
私は5年前に基本情報を取得した程度の知識である。
内容的には知識がなくても理解できる部分半分。
少し難しい部分半分なのかな。
なぜプログラムが動くのかということで、
CPUとメモリの関係、そしてプログラムとの関係を示してある。
読む前は「なぜプログラムは動くの?」に対し一言で答えられるような内容を期待していたが、そうではなかった。
しかし、十分満足。
投稿元:
レビューを見る
書店にて。プログラムの動く仕組みをわかりやすく解説している。難しい本を読む前の取っ掛かり、自分の知識の確認に最適。アセンブリ言語の知識はほとんどなかったので、アセンブリ言語の解説がもっとも役に立った。
投稿元:
レビューを見る
読んだのは初版だが、基本的な構成はあまり変わっていないと期待して、第2版を登録する。 コンピュータがプログラムを処理する仕組みを丁寧に解説した入門本。プログラムとはどういうものかが一通り理解できる。 CPUとは何をするものかから始まり、2進数による数の表し方、メモリやディスクの使われ方、プログラムがどのようにCPUに処理されているか、OSの役割、ネイティブコード(マシン語)とアセンブリ言語、ハードウェア制御の仕組み、と説明してゆき、最後は実例としてじゃんけんのプログラム。 なぜか途中でデータ圧縮の解説もある。 Windows環境で手を動かしながら確認できる箇所も多い。 説明がわかりやすいので、人に説明する際の参考にもなる。
投稿元:
レビューを見る
ハードウェアの観点からプログラムの処理を説明している本。
プログラムがメモリーにロードされ、CPUによって解釈・実行される仕組みについて細かく触れられているため、知識の確認や理解を深めることができる。
投稿元:
レビューを見る
プログラムはなぜ動くのか(1)
著者:矢沢久雄
懐かしい、KEY。
プログラムとは何か。
命令とデータの集合、順番を示すもの。
CPUはレジスタの集合体という意識を持つ。
プログラムカウンタ
フラグレジスタ
アキュムレータ
ベースレジスタ
インデックスレジスタ
汎用レジスタ
マシン語命令の機能
データ転送
演算
ジャンプ
コール&リターン
2の補数
論理0算術1右シフト
符号拡張
イクセス表現
ゾーンパック10進数
データ型とはメモリ占有サイズとデータ形式
後入れ先だしLIFOスタック
メモリチップ
論理的にはビルイメージ
リトルエンディアン
ポインタのデータ型は一度に読み書きするサイズ
LAST IN FIRST OUT
FIRST IN FIRST OUT
リングバッファ
配列よりリスト高速
プログラムはなぜ動くのか(2)
著者:矢沢久雄
memo続き。
cache,,,隠し場所
1つのプログラムを複数ページに
メモリ節約1:DLL
メモリ節約2:_stdcall
たった1文字でも1クラスタ使用
ファイルにはバイト単位で記録
データ×繰り返し:ランレングス法
モールス:ハフマン法
動作環境=OS+ハードウェア
CPUの種類違えばマシン語異なる
Ports:ソースをハードにあったものに
BIOS:ブートストラップローダ起動
コンパイラ特定
言語、対象CPU、対象OS
インポート・ライブラリ
ダイナミック・リンク・ライブラリ
→ダイナミック・リンク
メモリ上領域:変数、関数、スタック、ヒープ
OS:制御PG、言語プロセッサ、ユーティリティ
システムコールでハードウェア制御
windows:32bit、Win32API、GUI、WYSUWYG
windows:マルチタスク、NW、DB、プラグ&プレイ
ニーモニック(ネイティブコード英字略称)
アセンブリ言語オペコードと擬似命令
アセンブラ、逆アセンブラ
スタック:干草を積んだ山
関数の引数はスタックで戻り値はレジスタで
jl short @4:より小さなら@4へ
mov eax,dword ptr [_counter]:counterの値をeaxレジスタに4バイト読み込む
add eax,eax:二倍する
mov dword ptr [_counter],eax:戻す
プログラムはなぜ動くのか(3)
著者:矢沢久雄
ほんとなぜ動くんでしょうね、ラスト。
ハードウェア入出力:IN命令とOUT命令
IN レジスタ名,←ポート番号
OUTポート番号.←レジスタ名
ポート番号=I/Oアドレス
IRQ(InterruptRequest)
割り込み番号・コントローラの存在
ポーリング
DMAチャネル(DirectMemoryAccess)
VRAM(VideoRAM)
GPU(GraficProcessingUnit)
コンピュータシミュレーション
擬似乱数の周期性
乱数の種に現在時刻
CPU無能
人工知能のよう振る舞うものなら作成
結局人工無能?。
なんのためのコンピュータ
道具か思考過程代行
確率を設定し癖を実現
パターンを入れることで戦術を実現
経験によって条件分岐させることでさらなる戦術を実現
C言語
1973AT&Tベル研究所のデニスリッチーらによって開発
アセンブリに匹敵する細かな処理(メモり操作・ビット操作)
変数と関数でソース構成
char,short,int(long),float,double
8,16,32,32,64
標準関数
宣言記述・・ヘッダーファイル
#include ヘッダーファイル
関数のプロトタイプ宣言
ローカルとグローバル
配列と繰り返し
ANSI規定32個のC言語キーワード
さまざまなソースに触れる
ひたすらコーディング&ビルド
教科書のようだが教科書の何倍も面白い
投稿元:
レビューを見る
まったくのプログラミング初心者でも読める本。アセンブラやC言語が出てくるので、プログラミングをやったことの無い人が読むと少し躓くと思うが、プログラミングを始めて再度読み返すことで理解できる範囲だと思います(私はアセンブラやC言語のプログラミングはやったことがない)。とても良い本です。
投稿元:
レビューを見る
PC、ITについて全くもって無知なので、また講義で推薦図書にもなっていたこともあり読んでみた。
プログラミングを入力→…→画面に表示、までの…を埋めてくれる本。ほほ~、なるほど~という所もありーの、???となる所もあり。???となるのは、専門用語が多すぎて、まだ混乱してしまうからか…。