なんか定期的に蒸し返している話題なのですが、「『プログラマの常識』ってなによ?」に書いたようなこと。つまり、コンピュータの基本的なメカニズムに関する知識の話なんですが; レジスタ、アドレス、メモリとかに関する説明があって、機械語/アセンブリ言語のさわりを紹介していて、高級言語の説明もある、と。しかも読むのが負担にならないように手短に書いてある、と。そういう参考書(自習書)を探しています。
組み込み系のプログラミング本だと、8ビットCPUとかを例に、けっこう丁寧な説明があっていいなと思うのですが、PCを使っているだけの人間だと一生触りそうにないCPUや機器が素材だと現実性に欠けるのが気になります。やっぱり、題材はインテルのCPUとPC/ATアーキテクチャでしょう。
たまたま有隣堂で、ASCIIの「Linuxのブートプロセスをみる」を見つけました。
Linuxのブートプロセスをみる (UNIXMAGAZINE COLLECTION)
- 作者: 白崎博生
- 出版社/メーカー: アスキー
- 発売日: 2004/04/16
- メディア: 単行本
- 購入: 2人 クリック: 52回
- この商品を含むブログ (26件) を見る
この本の前半(雑誌特集を集めたもの)が、だいたい僕の希望にかないそうです。と思って購入してパラパラと読んだのですが、ウーム、そもそも「僕の希望」に無理があるような気がしてきた。
前半部分は100ページ程度と手頃な長さで、ハードウェアとアセンブラの説明もあります。話題はPCとそのOSなので現実離れもしていません。が、やっぱりこの説明だけじゃわかんないだろうなー、と感じます。ちゃんとお勉強するには他の本/資料を参照する必要があるだろうし、ザッと読むとオハナシ/雰囲気だけで終わりそうだし、、、
小規模で単純なハードウェアのエミュレータとかで遊ぶほうがいいのかな?
[追記]hiromarkさんがブックマークコメントで参照なさっていた http://d.hatena.ne.jp/asin/4774116009 を見ると、コンピュータのメカニズム、ハードウェアとソフトウェアの関係などを解説している書籍はけっこうあるようです。『あなたはコンピュータを理解していますか?』は見たことないけど、『コンピュータはなぜ動くのか?』は書店でよく見かけたな(手に取ったことはないが)、今度覗いてみよう。[/追記]