5.2.3 ELFヘッダ まで読みました。

先頭16バイトまでに、32bit/64bit、big endian/little endian 等がバイト単位で書かれており、以後はそれに従った形式で書かれている。

プログラムヘッダテーブルやセクションヘッダテーブルの開始位置、サイズ、含むヘッダの数が格納されており、これに従って後に続くプログラムヘッダテーブルやセクションヘッダテーブルを解析できる。

非常にシンプルな構造だと思いました。

第4章は読み物だったのでさくっと読み切りました。

面白かったのは、論理合成の結果がVerilog記述と1対1対応する場合とそうでない場合があるということです。

マルチプレクサやAND,OR等は基本的には1対1対応するが、加算は遅延がどの位許されるかによって違う回路に合成されるとのこと。

ソフト感覚で言えばマルチプレクサの方が条件次第で色々な回路に合成されそうで、演算の基本中の基本の加算は決め打ちの回路になりそうな気がするのですが違うのですね。ビットシフトに至っては配線を1本ずらしてつなぐだけ!面白いなあ。

先の章をざっとながめてみたところ、第9章以降は高速化技術なのでもしかしたら第8章まで勉強したらこの本は一旦終わりとするかもしれません。CPUってどういうものなのかソフト屋の立場から理解したいというのがこの本を勉強している趣旨なので。