あらすじ
わずか60年余りで,200万倍もの演算性能向上を遂げたプロセッサ。システムの全体性能を左右する小さなチップには,どのような技術が搭載されているのでしょうか。
本書では,コンピュータアーキテクチャの基本からスタートし,プロセッサのしくみ/働き,高速化を実現した応用技術,旬の64ビットCPUの内部構造まで徹底解説。合わせて,プロセッサの実力を引き出すためのプログラミングテクニックも盛り込みました。マルチコア化,スレッド,GPGPU(General Purpose GPU)/超並列処理,仮想化機構,省エネなど注目のキーワードを押さえ,プロセッサを核に,コンピューティングの今をコンパクトにまとめた1冊です。
WEB+DB PRESS plusシリーズ初,ハードウェアを題材に,先端プロセッサ開発歴40年の著者による全編書き下ろしでお届けします。
感情タグBEST3
Posted by ブクログ
eb+DB Press Plus
プロセッサを支える技術
果てしなくスピードを追求する世界
著:Hisa Ando
出版社:技術評論社
コンピュータは速くて、計算結果があっていて、壊れないでしっかり動いてくれればいいのですが、その中心となる、マイクロプロセッサの解説書です
もともと、モトローラの6809や、αチップが好きだったのですが、残念ながら淘汰されました。
2011年までですが、Intel i7,Intel Xeon5600,NVIDIA GPUをカバーしています
気になったのは、以下です。
ノースブリッジ メモリに割り付けられたアドレス
サウスブリッジ 各IO機器に割り付けられたアドレス
割り込みとI/Oの固定アドレスが決まっているんでした
ムーアの法則
性能向上 クロック向上、並列処理、機能拡張
ビックエンディアンと、リトルエンディアン
アドレス空間 32ビットと、64ビット
ノイマン型コンピュータ プログラム内蔵型コンピュータ
仮想記憶
マルチプロセス
RISCとCISC 単純な機械語、ニーモニック
キャッシュ(1次、2次、3次)とメモリ、仮想メモリ
スーパスカラーと、ベクトル処理
マルチコア
MPUの中に複数のプロセッサがある⇒ 8コア とか
マルチプロセッサ
1つのサーバシステムに複数のプロセッサがある 4CPU(1CPU:8コア、合計32コア)
クラスタシステム
システムに複数のサーバがある、クラスタ(疎結合)
パイプライン
1命令で複数の処理を行う
キャッシュとメモリの制御ロジック LRU
一番古いメモリセットを追い出す
GPU グラフィックプロセッサ、AI専用のプロセッサの登場、CPUと併用
マルチプログラミング ページング、ページサイズの調整
割り込み処理 物理アドレス ポーリング
仮想化
x86プロセッサから、iCoreへ
マルチコア間のメモリ制御 4階層ページテーブル
仮想マシン 仮想TLB方式 VMM
マルチスレッド
VMT 複数のスレッドを切り替えて実行
SMT 複数のスレッドの命令を混ぜて実行
マルチプロセッサシステム
8コアプロセッサのチップ実装(Intel Xeon 7500)
ロードインバランス CPU内部の負荷分散ロジック
分散メモリシステム メモリDIMMのグループ化
目次
本書について
本書の構成
第1章 プロセッサとコンピュータシステムの基礎
1.1コンピュータの構造
1.2 コンピュータの高速化を支える半導体技術
1.3 コンピュータとデータの表現
1.4 プロセッサと命令
1.5 機械命令プログラムの作り方
1.6 まとめ
第2章 プロセッサの変遷
2.1 コンピュータ以前の計算装置
2.2 初期の電子式コンピュータ
2.3 プロセッサを構成する素子の変遷
2.4 命令アーキテクチャの変遷
2.5 マイクロアーキテクチャの発展
2.6 用途が広がるプロセッサ
2.7 まとめ
第3章 [詳説]プログラマのためのプロセッサアーキテクチャ
3.1 マイクロアーキテクチャを支える技術
3.2 プロセッサの利用範囲を広げるアーキテクチャ拡張
3.3 x86 Nehalemアーキテクチャのプロセッサ
3.4 まとめ
第4章 仮想化サポート
4.1仮想化の目的、メリット/デメリット
4.2 仮想化を実現するために
4.3 仮想化をサポートするハードウェア機構
4.4 まとめ
第5章 マルチプロセッサの出現と普及
5.1 マルチスレッドプロセッサ
5.2 マルチプロセッサシステム
5.3 まとめ
第6章 プロセッサ周辺技術
6.1 メインメモリ技術
6.2 入出力装置の接続
6.3 まとめ
第7章 GPGPUと超並列処理
7.1 GPGPUのしくみ
7.2 GPGPUプログラミング
7.3 まとめ
第8章 今後のプロセッサはどうなっていくのか?
8.1 消費電力がすべてを支配する
8.2 より高性能へ、より多くの機能を
8.3 より高信頼で安全なプロセッサ設計
8.4 今後のプロセッサの方向性とは?
8.5 まとめ
索引
ISBN:9784774145211
判型:A5
ページ数:400ページ
定価:2580円(本体)
2011年01月25日初版第1刷発行
Posted by ブクログ
既に発売から10年が経過しているが、プロセッサに関わる技術の分かりやすい本としては今でも良本と呼べると思う。
さすがにNehalemの細かい記載は懐かしいが、メモリ周りから仮想化まで、非常に詳細かつ分かりやすい。
内容的には、情報処理試験で学ぶこととかなり重複するが、ここまで分かりやすく説明してくれる試験用教科書は無いと思う。
私の本業に係わることも有り、星5つの評価としておく。
Posted by ブクログ
1章 プロセッサとコンピュータシステムの基礎
コンピュータを構成する主要素を説明
・プロセッサ
・メモリ
・入出力装置
2章 プロセッサの変遷
省略
3章 プログラマのためのプロセッサアーキテクチャ
マイクロアーキテクチャ
パイプライン
キャシュ
速度低下を引き起こすスラッシングの対策など
RISCとCISC
演算器の高速化
分岐予測
プロセッサの利用範囲を広げるアーキテクチャ
・仮想化
x86 Nehalemアーキテクチャのプロセッサ
x86の詳細説明
4章 仮想化サポート
ユーザーの分割、サーバー稼働率の向上に寄与する仮想化について説明
5章 マルチプロセッサの出現と普及
まずはスレッド、マルチスレッドについて、マルチプロセッサについての説明があった。
6章 プロセッサ周辺技術
メインメモリ
入出力装置の接続(PCIバス)
7章 GPGPUと超並列処理
GPUの概略説明と必要性、画像処理から超並列処理への遷移
8章 今後のプロセッサはどうなっていくのか?
すべては熱(消費電力)が支配する
プロセッサの中身を知っておくと高速に処理できるプログラムを書ける。
Posted by ブクログ
技術評論社WEB+DB PRESS plusシリーズの本はどれもしっかりと作ってあるという印象を受ける。それは著者をしっかりと選んでいるからだろうと思う。本書もこれだけの内容を単著者で書かれている。おそらくは、この世界でも経験が豊富で有名な方なんだろう。
プロセッサを"支える"技術というタイトルからも分かるようにそのカバーする範囲は非常に広い。
非常に基本的なプロセッサ理論から、その開発の歴史、メモリなどの周辺技術、仮想化やマルチコアプロセッサ、GPGPUなどの最新動向、などカバーされている。
すべてを理解することできないが、内容の深さやバランスなど優れた解説書。高く評価できる。
Posted by ブクログ
尊敬する同期I君の紹介。
「プロセッサを支える技術」というタイトルから、なんとなくCPUの内部設計に関する話を想像していたのだが、それだけではなく、メモリやGPUなどと強調していかに効率よく処理をするかという工夫が歴史に基づいた形で紹介されている。
キャッシュのしくみなどアプリケーションプログラムの設計と共通するところもあり、非常に参考になった。
また、意外な効用としてハードよりの人が書くコードの名前はよくわからなかったのだが、意味がわかるようになった(invalidとか)
Posted by ブクログ
計算機に携わるらしき人々は概要だけでも知っておくべきである事が綺麗で丁寧にある程度きっちりと書いてある。計算機に関わるすべての人への入門書、と言ったところ。良書。また、中盤~終盤のやや具体的な技術解説やGPUまで言葉のみならずしっかりと紹介した今後のプロセッサ技術などにも丁寧に触れ続けており、プロセッサ全般についての広い知識を補える点で中級者以上にもオススメしたい。
Posted by ブクログ
CPU がどの様に動作するのか解説。効率よく処理するためのメモリ制御や、コーティングの方法、メモリ領域の宣言の仕方など。マルチスレッドの解説も
Posted by ブクログ
現在のプロセッサに使用されている機能をわかりやすく解説している。
プロセッサを効率的に使いたいプログラマを対象とすると書いてあるため、一見したところOSやコンパイラの開発者をはじめとした、ハードに近い人たちを対象としているかのように感じてしまう。
しかし、アプリケーション側のソフトウェアを作る人から見たらブラックボックスである、プロセッサの内部処理を簡潔に説明しているこの本は、1度読むのに値するものである。
様々なプロセッサの機能を簡易サンプルコード付きで説明しているため、効率を考えたソフトウェアの実装を行いたい場合、どのようなソースコードを書けばよいのか、ヒントを与えてくれている点も高評価のポイントである。
私は、この本の良いところが、過去のプロセッサにまつわるトピックだけではなく、新たなトピックや、現時点での問題点も示してくれているため、プロセッサ業界の現状を知れる点にあると考える。
特にGPGPUは最近注目されている分野だけあり、一気に読んでしまった。
しかしこの本の内容も、時が経つにつれ古い情報となってしまう感じはするので、現在のプロセッサ環境を手っ取り早く知りたい方は、是非とも読んでみよう。
ところで、この本の題名はプロセッサ「を支える技術」となっている。
実際にプロセッサだけの話題ではなく、メモリやその他IO、暗号化、マルチメディア処理、仮想化についても触れ、まさに支える技術一通りを教えてくれる本であった。
Posted by ブクログ
現代的で素晴しいコンピュータ・アーキテクチャのテキスト。コンピュータ・アーキテクチャの基礎から、仮想化支援機構、マルチコア、GPGPU といった最新の話題まで手広く網羅する。さすがにこれだけ豊富な内容で A5版 380ページでは個々の説明が簡略になるのはやむを得ないが、非常に適切に簡略化されているので、解説が端折られている箇所はほとんどない。行間を読むのが練習問題と思えば丁度良いくらい。
ところどころに差し込まれる early and evil optimization code はいかがなものかと思うが、これは編集者の方針なのかなぁ。WebDB Press はソフトウェアの雑誌だから…。
パターソン&ヘネシーばりの大型本にして、英語でリライトしていただければ、世界中で読まれる著名な教科書になることは間違いないくらいの名著。久しぶりに素晴しい技術書を読んだ。
Posted by ブクログ
かなり詳細で専門的なところもあるが、文章が丁寧で新しい技術情報も取り扱ってくれているので興味深く読めた。
一部理解しきれないところもあったのでまた時間があったら再読してみたいと思う。
Posted by ブクログ
CPUがどのように進化してきたかを丁寧に解説している良書。
プログラマ向けにどのような店に注意すべきかも書かれているので、多くのプログラマに読んでもらいたいと思う本でした。
Posted by ブクログ
全体的な歴史や、GPGPUなどについても言及しつつ、IntelのIA32のアーキテクチャを中心に現在のマイクロプロセッサの諸技術について解説している。
本書はマイクロプロセッサ技術者というよりも、マイクロプロセッサを使う側、IT Proやプログラマ、PCの自作を行うユーザーが、プロセッサメーカーやサーバーメーカーが発表する技術資料や、インストラクションマニュアルを含む各種マニュアル類を理解するための入門書的な位置づけの一冊だともいえると思う。
もはや、本書に書かれている内容を一切知らなくてもプログラミングは可能な時代にはあるが、システム開発として、ハードウェア全体の構成設計や、基幹となるソフトウェアアーキテクチャの設計において、特に非機能要件といわれるような性能や品質の設計においては、プロセッサの特性やその機能を理解しておくことは今もって必須だと思うので、コードを書くために使われる人ではなく、自らシステムを作っていくプログラマを目指す人にも本書をぜひ手に取ってほしいと思う。
Posted by ブクログ
私には難しい本だったので、読みのに大分時間がかかってしまいました、、、Nehalem のプロセッサのアーキテクチャがこれまでのプロセッサと大きく変化していることや仮想化をサポートする技術を紹介しているところは非常に興味深かったです。
Posted by ブクログ
雑誌やWEBなどでメモリやCPUのスペックがらみの話を読んでもいまいち理解できなかったのだが、本書ではそれらの記事ではいちいち解説してくれない事柄まで包括して説明してくれているのでこの分野での基本的なことは抑えることができたと思う。
本書のシリーズに共通して言えることだが、基本が抑えきれていない私のような人に対して最終的に少し踏み込んだコアな部分も理解できるような構成、展開となっているところがとても良い。
内容的には、マイクロアーキテクチャの話が特にためになった。
マイクロアーキテクチャを知ることによりメモリ、CPUを効率的に利用するための勘所を得るだけでなく、優れた実績のある方式として、一般的なプログラムに対して処理を高速化するためのヒントとなるので、学ぶ価値は非常に高いと思う。
キャッシュ・TBLの話、マルチスレッド、マルチコア、マルチソケットの話、特にキャッシュコヒーレンシをとるための方式の話はおもしろい。
ただ、メモリアーキテクチャや外部IFの話はまだ敷居が高く感じた。
Posted by ブクログ
AND演算、論理回路、半加算器と順を追って説明を、というわけではなく、プロセッサ・メモリ・入出力装置とアーキテクチャの外観を示してからのパイプライン・キャッシュ・分岐予測と技術の詳細を解説していく表題の通りプロセッサ本。
メモリ管理機構や割り込み処理など基盤となる技術要素に留まらず、仮想化サポート・Nehalemアーキテクチャ・マルチプロセッサのような最近の技術まで広範囲にカバーしているが、これがまぁ難しい。
ページテーブル、TLBキャッシュ、仮想記憶、多階層化と順を追って構造を辿る間はすんなり読み進められるが、『センスアンプの読みだした1行分のデータの中の列デコーダで選択された部分に対して与えられたデータを書き込んでから、行デコーダで選択された行に書き戻します。』とキャッシュ、アドレス、ポインタ、デコーダみたいに物理レイヤのひとつ上の処理を辿る段で一気に置いて行かれる。
昔読んだ詳細Linuxカーネルやカーネル2.6解読室などと非常に近いレイヤであるので、並べて読むと互いに補完できていい気がする。とはいえ自分にはもう一段、詳細な説明のレイヤが欲しいところであるが、この辺りは読める本を探すよりも、むしろ自分で作って触ることが正道だと思われる。
裏を返せば「作るのには敷居が…。」と思っている人こそ、本書を読むべきだろう。どこをどう歩いても敷居に当たるならば、進める方向に進んでみよう。