雨とプロセッサ

体調が戻りました

ほとんどの症状は解消しました.鼻詰まりが残っているものの,行動には特に問題なしです.とはいえ,天候の方は下り坂,気温も低くなっているので,また体調を崩してしまわないように気をつけなくては….

プロセッサを支える技術 残り

プロセッサやメモリなどのハードウェアに関する解説書ですが,プログラマ向けということで,どうすれば効率的なプログラムを書けるのかということを説明してくれているため,とても参考になります.C/C++アセンブラの知識がないとピンとこないかもしれませんが,情報系の学生やプログラマにはおすすめできます.

プロセッサを支える技術  ??果てしなくスピードを追求する世界 (WEB+DB PRESS plus)

プロセッサを支える技術  ??果てしなくスピードを追求する世界 (WEB+DB PRESS plus)

第 3 章 「プログラマのためのプロセッサアーキテクチャ

第 2 章では概要の説明にとどまっていたキャッシュや演算器について,第 3 章では,もう少し踏み込んだ内容が書かれています.

キャッシュについては,単位となるキャッシュラインに始まり,マップ方式や階層の説明があるだけでなく,どのようにキャッシュが効いてくるのかをわかりやすく説明しています.メモリアクセスに 200 サイクルという具体的な数値を用いた例も示されているので,参考にすれば,自分でいろいろと検証できるようになります.

演算器については,整数・浮動小数点数の演算器がどのように演算を高速化しているかが示されています.また,スーパースカラや Out-of-Order 実行,分岐予測の仕組みが,依存性や割り込みを解決する方法と併せて説明されています.ソフトウェアとハードウェアの隙間な感じがツボです.

他にも,メモリの管理方法や割り込みの仕組み,プロセッサによる仮想化のサポートなど,わざわざ調べるほどでもないと思って今まで放置していたことがたくさん説明されています.

数年前に同じような内容を勉強していたものの,抜けていた or 忘れていた情報や新しい情報もあり,よい勉強になりました.

第 4 章以降

仮想化,マルチコア・マルチプロセッサ,メモリ,GPGPU,プロセッサの今後に関する章があります.大体,書いてありそうな内容より一歩踏み込んだくらいの内用になっていました.いずれもプログラミングに応用するとなると難しい知識ですが,知っていれば役に立つ機会もあるだろう思います.

特に問題になるような内容ではりませんが,終盤は誤字・脱字が多いようです.スケジュールが厳しかったのかも,などと邪推してみたり….「グラフィック用の GPGPU」という表現には,なにやら焦りのようなものを感じました.

誤字・脱字を見つけたときは連絡すべきなのかな…?