Last Update 2024/11/13

MPUの基本からAIプロセッサ,TrustZone,RISC-Vまで
マイクロプロセッサ・アーキテクチャ教科書

中森 章 著
B5判 448ページ
定価4,400円(税込)
JAN9784789845564
2024年12月1日発行
2024年11月26日発売予定!
マイクロプロセッサ・アーキテクチャ教科書

 PCに限らず,現在では身の回りのありとあらゆる電子機器にプロセッサが使われている.本書ではそのプロセッサに焦点をあて,動作のしくみについて詳しく解説する.パイプラインやスーパースカラの構造,キャッシュやMMUの動作,割り込みや例外,浮動小数点演算の方法,仮想化とハイパーバイザ,AIプロセッサなど,プロセッサとそれに関連する事柄を取り上げる.
 さらに近年注目を集めているArmとRISC-Vについては,命令セットアーキテクチャからTrustZoneに至るまで,これ1冊で理解できる.
 本書は,実際の各種アーキテクチャのプロセッサの構造を解説し比較しながら解説することで,より実務的で実践的なプロセッサ解説書となっている.

※本書は2004年発売の「マイクロプロセッサ・アーキテクチャ入門」を大幅に加筆し,再編集したものです.

目次

MPUの基本からAIプロセッサ,TrustZone,RISC-Vまで
マイクロプロセッサ・アーキテクチャ教科書

本書は,中森章 著「マイクロプロセッサ・アーキテクチャ入門」(2004年4月1日初版発行)の各章を加筆/再編集したものです.

コンピュータの誕生からプロセッサの発展まで
Prologue マイクロプロセッサの歴史
前史:マイクロプロセッサが産まれる前
登場:マイクロプロセッサ
進化:さまざまな製品が登場する
近代:32ビットMPUの登場
発展:RISCの時代へ
現代:今使われている技術

プロセッサの構成要素と動作の基本
Chapter1 プロセッサの基礎知識
1.コンピュータができること
2.MPUの構成要素
3.命令コード,オペランド,アドレッシングモード

もっとも基本的なプロセッサ高速化技法
Chapter2 パイプライン処理の概念と実際
パイプライン処理の概念
1.パイプラインとは
2.パイプラインの理論
3.パイプラインを効率良く動かす各種の方法
パイプライン処理の実際
4.R3000のパイプライン
5.Arm/StrongARM/XScale
6.R4000
7.Arm Cortex
8.RISC-V Rocket
9.Xtensa

1クロックで複数の命令を同時に実行する
Chapter3 並列処理の基本とスーパースカラ
スーパースカラの基本
1.CPIからIPCへ
2.複数の命令を並列実行するスーパースカラの概念
3.スーパースカラの実現
4.スーパースカラの命令発行を効率的に行うための「レジスタリネーミング」
5.分岐予測と投機実行
スーパースカラの実際
6. Cortex-M7
7. R10000
8. Cortex-A72
9. Cortex-A78
10.BOOMv1/BOOMv2
11.BOOMv3
12.Pentium
13.Pentium II
14.Pentium4
15.Pentium M
16.Nehalem
17.Alder Lake(Golden CoveとGracemont)
18.Hammerのパイプライン
19.Ryzen(Zen)
20.Alpha21264

キャッシュ構造の違いから,680x0/i486/R4000のキャッシュの動作まで
Chapter4 キャッシュのメカニズム
1.キャッシュの内部構成
2.キャッシュへのアクセス方式
3.リプレースメント方式
4.書き込み制御
5.キャッシュを支える各種機能
6.実際のプロセッサのキャッシュ構成

システムオンチップ時代のデバッグ手法
AppendixI エミュレーション機能の基礎

仮想記憶/メモリ保護機能を実現するために
Chapter5 MMUの基礎と実際
1.仮想記憶とは
2.アドレス変換
3.TLB
4.PTE(Page Table Entry)の実例
5.メモリ保護
6.MMUの実例
7.最近のMPU(プロセッサ)のMMU
8.MPU(Memory Protection Unit)とは何か

携帯機器ではとくに重要な
AppendixII 低消費電力技術の原理

外的要因と内的要因,ハードウェア割り込みとソフトウェア割り込みの違いを理解する
Chapter6 割り込みと例外の概念とその違い
1.MPUにおける割り込みと例外
2.外部割り込みと例外の動作の概要
3.割り込みと例外処理の実際

VLIWの復権はあるのか
Chapter7 VLIWとは何か
1.VLIWの概念
2.VLIWの実際(1)― Itanium
3.VLIWの実際(2)― Crusoe

誤り検出/訂正符号やシステムの多重化など
AppendixIII 高信頼性をサポートする機能

処理性能を上げるための最後の切り札
Chapter8 マルチプロセッサの基礎
1.マルチプロセッサの基礎
2.マルチプロセッサのキャッシュ制御
3.プロセス間の相互通信の方法
4.マルチプロセッサを構築する技術
5.マルチプロセッサの構造

浮動小数点演算を高速にこなすための
Chapter9 FPUのしくみ
1.IEEE 754とは
2.浮動小数点演算命令の処理手順
3.浮動小数点演算で発生する例外
4.演算精度について
5.浮動小数点演算処理の実際
6.浮動小数点に関する最近の話題

演算回路をいかに高速に処理するか
AppendixIV 高速演算器の実際

MPUの新たな用途
Chapter10 AIチップの概要
AI専用チップに注目が集まる背景
AIチップの歴史
AIチップで行う基本計算
AIチップの利点の考察…端末側にメリットがある気がする
AIチップの基礎知識
これからはDSA(ドメイン固有アーキテクチャ)に注目が集まる
AIチップに求められる計算機能
推論用AIチップと学習用AIチップのちがい
AIプロセッサ3つの実例
AIプロセッサ(1):EsperantoのET-SoC-1
AIプロセッサ(2):Teslaが自社設計したD1チップ
AIプロセッサ(3):インテルのGPU Xe-HPC

CISCの反省からRISCへ,そしてRISCもまた複雑化し,その将来は…
Chapter11 命令セットアーキテクチャの変遷
1.コンピュータアーキテクチャとは
2.CISCの命令セット
3.崩れた神話─RISCへ至る道
4.誕生初期のRISC
5.過渡期のRISC
6.少し前のRISC
7.SIMD命令/暗号化処理命令
8.命令セットアーキテクチャの行く末

現在の最新MPU
Chapter12 ArmとRISC-Vの命令セットアーキテクチャ
レジスタセット 370MOVE(移動)命令
ロード/ストア命令
論理演算とビット操作
シフト命令
繰り返し処理と条件判断の実現
サブルーチンと関数
四則演算
高級言語サポート命令

複数のOSを動かすための支援機構
Chapter13 仮想化とハイパーバイザ
仮想化とは
マルチタスクと何が違うのか
ハイパーバイザとスーパーバイザ
ハイパーバイザのためのハードウェア要件

MPUによる情報保護機能の実装
Chapter14 セキュリティ機能
Armのセキュリティ機能であるTrustZone
Armv7-A(Armv8-A)でのTrustZone
Armv8-MのTrustZone
Cortex-AとCortex-MのTrustZoneの違い
TrustZoneで何を護るのか?
そのほかのMPUのセキュリティ機能
MIPSでのセキュリティ機能

研究段階から実用化へ,そして残っているのは…
Epilogue マイクロプロセッサ変遷史/2000年代〜現代
2000年代のCPU事例1:インテルx86
2000年代のCPU事例2:AMDのx86
2000年代のCPU事例3:MIPSのその後
2000年代のCPU事例4:もう1つの典型的RISC SPARC
2000年代のCPU事例5:Armの躍進
2000年代のCPU事例6:V850の変遷
2000年代のCPU事例7:SuperHの終焉
2000年代のCPU事例8:RISC-Vの胎動

本書は,中森章 著「マイクロプロセッサ・アーキテクチャ入門」(2004年4月1日初版発行)の各章を加筆/再編集したものです.