クリプキクローネ日記帳

ある種の音楽と数学とランニングはミニマルなところが似ていると思う。

Write Great Code vol.1 [ Randall Hyde(著), 鵜飼文敏, 後藤正徳, まつもとゆきひろ(監訳), (株)トップスタジオ(訳)] (毎日コミュニケーションズ)

シリーズものだと知らずに読みました。
どうりでハードウェアの話に偏ってたわけだ。
計算機アーキテクチャの教科書的な本でした。


大事なことが網羅されててよかったけど、
400ページある割には若干内容があっさり目でした。

浮動小数点の最近値への丸め(いわゆる四捨五入)で、
端数がちょうど半分だったとき(いわゆる0.5)に、
ガードビットの前の桁が0だと切り捨て、1だと切り上げ、
っていうのは知りませんでした。
そうすると丸めたあとの最後の桁が必ず0になるので、
その後の計算による精度の悪化が若干抑えられる。なるほど。
五入じゃないわけですね。

ソフトウェア浮動小数点ライブラリの動作が高級言語で解説されていて分かりやすかったです。
確かにこれは重い。FPUないと浮動小数点使う気にならないわけだ。

CPUの並列化は似たような概念がたくさんあるので整理できてよかったです。
EIPをあらかじめまとめて読んでおくプリフェッチキュー、
パイプライン、アウトオブオーダー、VLIW、
実行ユニットだけ複数あるスーパースカラ、
別のレジスタを使って並列化するレジスタリネーミング、
実行ユニット以外のユニットを遊ばせないように活用して並列化するハイパースレッディング、
そしてマルチプロセッサと、言葉がたくさんあります。
レジスタリネーミングとかそもそも知らなかった。

オペコードがフィールドごとにALUやレジスタへのデコーダに接続されて、
機械語が実行される様子の図は分かりやすかったです。
こういうソフトウェアとハードウェアの境目あたりはちょっとワクワクしますね。
コンピュータってすごいな、と改めて思います。

  1. 2017/03/26(日) 22:16:47|
  2. | トラックバック:0
  3. | コメント:0
<<旅のラゴス [筒井康隆(著)] (新潮文庫) | ホーム | 華氏451度 [レイ・ブラッドベリ(著)、宇野利泰(訳)] (早川書房)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://myumbrella.blog42.fc2.com/tb.php/361-552c3c0a
この記事にトラックバックする(FC2ブログユーザー)