図書館は私の好きな場所、心が落ち着きます。
図書館に行った目的は、
前から読みたかった、矢沢久雄著「プログラムはなぜ動くのか」という本です。
「プログラムはなぜ動くのか」 改訂第3版
発売日 : 2021年5月13日
14年ぶり待望の改訂第3版!
これからの10年も通用する基本を身につけるための改訂
これからの10年も通用する基本を身につけるための改訂
時間切れになって、最初の数ページしか読むことができませんでしたが、それだけでもかなり勉強になりました。
プログラムとは、演奏会の曲目や、運動会の演目のように、処理の順番を定めたコンピューターへの作業指示書です。そのプログラムには、「命令」と「データ」が書かれています。
Linuxにおいて echo 'Hello World' というコマンドラインでは、
「echo」が命令で、
「Hello World」がデータです。
OSがプログラムを起動すると、メモリにプログラムがコピーされ、メモリ内のデータをCPUが読み出し、CPU内で演算を行う、という流れになります。
プログラマにとって必要なCPUの知識とは、CPUがどんな働きをするのかを理解することで、理解のポイントは「命令やデータを格納するレジスタの仕組みを知ること」だそうです。
私は、「レジスタ」というものを初めて勉強し、初めて知りました。
レジスタとは、処理対象となる命令やデータを格納する領域のことです。1つのCPU内部には、数個から数十個のレジスタがあって、個々に役割が異なります。
さまざまな役割を持ったレジスタの集合体がCPUなのです。
個々のレジスタがどのような役割を果たして、プログラムが実行されていくのか、具体的に解説されています。
私はごくたまにプログラムを書く「真似」をする程度なので、上記のような詳細な知識は必ずしも身に着ける必要はないはずです。けど、なかなかおもしろくて、興味を惹かれる内容でした。
一度読んだだけでは、すぐに忘れてしまいそうです。また近いうち、再読してみたいと思っています。
プログラムはなぜ動くのか 《第3版》
それでは、また次の記事で
■■■■ goosyun ■■■■
《2024年4月29日追記》
本書を再読して、プログラム実行時、CPU内部でどのような動作がされるのかを理解し、記事にまとめました。
⇒ こちらの記事をご覧ください。