itsukichang

フロントエンドが得意なエンジニア.ダーツと旅行とギターが好き

C++と並行して

色々な予備知識といいますか、コンピュータ、プログラムの根本的な部分を学習してます。
そういうことについて、今まで勉強したことがなかったので。
もちろん自然に、プログラムを学ぶ課程で知った部分もありますが、やはりそれでは限界が見えてるな、と。

この本がいい!

で、前から立ち読みして気に入ってた、「プログラムはなぜ動くのか-知っておきたいプログラミングの基礎知識-」
という本を読みふけってます。
このシリーズは良書が多いみたい。

個人的れびゅー

ただ、色んなところのレビューで書かれてるとおり、入門書という立ち位置ではないですね;
ある程度プログラミングができる人向けかな?
まぁC言語とかを少しかじったことがある人なら大丈夫かなーっていう感じ。

内容メモ。

プログラマにとってのCPUについて。
レジスタが大事。
レジスタ=処理対象のデータや命令を格納する領域。メモリーに近い
レジスタの種類。
■プログラム実行の流れ。
・高水準言語でプログラム書く→コンパイルして、機械語に。→メモリーにファイルコピーする→CPUがプログラムの内容を解釈・実行。

■CPUの働きの部分をもうちょっと詳しく。
・プログラムが動く→クロック信号にあわせて、制御装置がメモリーから命令、データを読み込む。
→その命令を解釈・実行→演算装置で演算→その結果に応じて制御装置がまたがんばる。

■あと、条件分岐とか繰り返しとか関数呼び出したときの、内部の動き(CPUでの処理)の流れがわかって面白かった(>▽<

・比較するときは減算でがんばってらっしゃる。
■実はCPUができることって少ない
・データ送信。・演算命令・ジャンプ命令・コール/リターン命令 と大きく分けて4つ。


次章はビットの話をベースに2進数とか波動小数点数などのデータ形式と論理演算とかシフト演算についてらしい。

中身が濃くて本当にすばらしい!
1章読んで、理解するのに結構時間かかりましたw
そうか俺が馬鹿だからか。