作って学ぶコンピュータアーキテクチャ -- LLVMとRISC-Vによる低レイヤプログラミングの基礎

作って学ぶコンピュータアーキテクチャ -- LLVMとRISC-Vによる低レイヤプログラミングの基礎

木村 優之

内容紹介

コンピュータアーキテクチャ、とくに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によるテスト実行

この本をシェア

X LINE Facebook はてブ

価格比較(新品・中古)

価格を確認中...
Amazon直販
他の価格を読み込み中...

図書館で借りる

カーリルでこの本の詳細を見る →