作って学ぶコンピュータアーキテクチャ
——LLVMとRISC-Vによる低レイヤプログラミングの基礎
2022年7月1日紙版発売
2022年6月27日電子版発売
木村優之 著
B5変形判/536ページ
定価3,960円(本体3,600円+税10%)
ISBN 978-4-297-12914-9
書籍の概要
この本の概要
コンピュータアーキテクチャ,とくにCPUの命令セットアーキテクチャについて,RISC-Vを例に「上のレイヤからアプローチする」ことで理解を深めることを目的とした一冊。本書を一通り読み終えるころには,低レイヤに対する一段上の実力がついているはずです!
こんな方におすすめ
- 性能向上などのためにコンピュータアーキテクチャを理解したいエンジニア
- RISC-VやLLVMへの理解を深めたいエンジニア
この書籍に関連する記事があります!
- 「低レイヤ」を,なぜ・どうやって学ぶのか
- コンピュータアーキテクチャ,とくにCPUの命令セットアーキテクチャについて,RISC-Vを例に「上のレイヤからアプローチする」ことで理解を深めることを目的とした一冊。本書を一通り読み終えるころには,低レイヤに対する一段上の実力がついているはずです!
目次
第1章:コンピュータアーキテクチャとISAの基礎知識
- コンピュータアーキテクチャの全体像
- 命令セットアーキテクチャ(ISA)
- CPUの高速化技法
第2章:RISC-Vの基礎知識
- RISC-V命令セットの特徴
- RISC-V命令セットの詳細
- RISC-Vを体験する
第3章:LLVMの基礎知識
- LLVMの概要
- LLVMを体験する
第4章:LLVMバックエンドの仕組み
- LLVMバックエンド開発の全体像
- LLVMのバックエンドを作るための第一歩
- ターゲット記述ファイル(tdファイル)の作成
- MYRISCVXのC++クラスを実装する
- llcはどのようにマルチターゲットを実現しているのか
第5章:簡単な関数や演算のサポート
- 関数の仕組み
- シンプルな関数をコンパイルできるようにする
- 関数が戻り値を返せるようにする
- 関数のプロローグ・エピローグに必要な新規命令の実装
- 関数のプロローグ・エピローグの実装
第6章:算術演算・グローバル変数・ポインタ・制御構文のサポート
- 算術・論理・比較命令の生成
- まとめとレッスン:画像のパタンマッチングを行うプログラムをシミュレーションする
- グローバル変数のサポート
- ポインタ・配列・構造体のサポート
- 条件分岐や繰り返しの生成
- 関数呼び出しのサポート
- [LLVM] LLVMのビルドと確認
- まとめとレッスン:配列のソート
第7章:オブジェクトファイル・ELFファイル出力のサポート
- オブジェクトファイルとは何なのか
- インラインアセンブリとllvm-mcの実装
- まとめとレッスン:N-Queen問題を解く
第8章:LLVMでのテスト記述とリグレッション
- llvm-litによるテスト実行
この本に関連する書籍
-
新・標準プログラマーズライブラリ RISC-Vで学ぶコンピュータアーキテクチャ 完全入門
コンピュータアーキテクチャとは,より良いコンピュータの構成を模索し,設計し,実現するための方式です。学習には,重要概念の理解とハードウェアの設計,実装,その...
-
RISC-VとChiselで学ぶ はじめてのCPU自作 ――オープンソース命令セットによるカスタムCPU実装への第一歩
本書では,UCバークレーで開発されたオープンソースの命令セット(ISA)「RISC-V」を用いて,CPUの作り方を解説します。コンピュータアーキテクチャ,ハードウェアに関...