Learning RISC-V and Chisel: First Steps to Custom CPU Design — Implementi [Book]

cover
TrackedCareful packingFast support

All items are packed carefully and shipped with tracking. We handle all orders with care.

TitleLearning RISC-V and Chisel: First Steps to Custom CPU Design — Implementing Custom CPUs with Open Source Instruction Sets [Book]
ConditionBrand New
FormatBook
AuthorYutaro Nishiyama
BrandGijutsu Hyoronsha
Publication NameGijutsu Hyoronsha
BindingPaperback Book
Pages336
Release Date2021-08-25
UPC9784297123055
Country of OriginJapan
LanguagesJapanese (Publication)

Product Description

オープンソースの命令セットRISC-VでCPU自作にチャレンジ 本書では、UCバークレーで開発されたオープンソースの命令セット(ISA)「RISC-V」を用いて、CPUの作り方を解説します。コンピュータアーキテクチャ、ハードウェアに関する知識があまりない方にも理解できるように基礎からわかりやすく学んでいきます。CPUとコンピュータアーキテクチャのしくみを解説したうえで、基本整数命令の実装から、CPUの高速化で活躍するパイプラインの実装、スーパーコンピューターでも活躍するベクトル拡張命令(SIMD)、さらに、汎用CPUでは負荷の高い処理をより高速に実行するためにCPUへ追加可能なカスタム命令の実装までを行います。CPU設計に用いる基本言語としては、Velilogを抽象化したHDL(ハードウェア記述言語)であるChiselを利用しています。 CPUの自作範囲に関して、手順が煩雑なFPGAでの動作確認は行わず、ソフトウェア上でエミュレーションをゴールとしているので、ソフトウェアエンジニアの方にも取っ付きやすいものとなっています。 巻末には、昨今RISC-Vが注目されている理由を整理するため、RISC-Vのもたらす価値についてまとめています。 (目次) 第I部 CPU自作のための基礎知識 第1章 CPUとは何か 1-1 電子回路が論理を表現できる理由 1-2 基本論理回路がCPUを実現できる理由 1-3 CPUの製造プロセス 第2章 コンピュータ・アーキテクチャ 2-1 メモリ 2-2 コンピュータの基本的な処理の流れ 第3章 ハードウェア記述言語Chiselの基本 3-1 Chiselとは 3-2 オブジェクト指向とは 3-3 Scalaの基本文法 3-4 Chiselの基本文法 第II部「簡単なCPUの実装」 第4章 環境構築 4-1 chisel-templateのダウンロード 4-2 Dockerによる実行環境の構築 4-3 命令bit列および定数ファイル 4-4 第II部で実装する命令とChiselコード全体 第5章 命令フェッチの実装 5-1 Chiselコードの概要 5-2 Chiselの実装 第6章 ChiselTestによる命令フェッチテスト 6-1 ChiselTestのインストール 6-2 テストの流れ 6-3 Chiselテストコードの作成 6-4 メモリ用hexファイルの作成 6-5 printfを活用したデバッグ信号の出力 6-6 テストの実行 6-7 Dockerコンテナのcommit 第7章 命令デコーダの実装 7-1 Chiselの実装 7-2 テストの実行 第8章 LW命令の実装 8-1 RISC-VのLW命令定義 8-2 Chiselの実装 8-3 テストの実行 第9章 SW命令の実装 9-1 RISC-VのSW命令定義 9-2 Chiselの実装 9-3 テストの実行 第10章 加減算命令の実装 10-1 RISC-Vの加減算命令定義 10-2 Chiselの実装 第11章 論理演算の実装 11-1 RISC-Vの論理演算命令定義 11-2 Chiselの実装 第12章 デコーダの強化 12-1 ALU用デコード 12-2 MEM用デコード 12-3 WB用デコード 第13章 シフト演算の実装 13-1 RISC-Vのシフト演算命令定義 13-2 Chiselの実装 第14章 比較演算の実装 14-1 RISC-Vの比較演算命令定義 14-2 Chiselの実装 第15章 分岐命令の実装 15-1 RISC-Vの分岐命令定義 15-2 Chiselの実装 第16章 ジャンプ命令の実装 16-1 RISC-Vのジャンプ命令定義 16-2 Chiselの実装 第17章 即値ロード命令の実装 17-1 RISC-Vの即値ロード命令定義 17-2 Chiselの実装 第18章 CSR命令の実装 18-1 RISC-VのCSR命令定義 18-2 Chiselの実装 第19章 ECALLの実装 19-1 RISC-VのECALL命令定義 19-2 Chiselの実装 第20章 riscv-testsによるテスト 20-1 riscv-testsのビルド 20-2 ELFファイルをBINファイルへ変換 20-3 BINファイルのhex化 20-4 riscv-testsのパス条件 20-5 riscv-testsの実行 20-6 一括テストスクリプト 第21章 Cプログラムを動かしてみよう 21-1 Cプログラム作成 21-2 コンパイル 21-3 リンク 21-4 機械語のhex化とdumpファイルの生成 21-5 テストの実行 第III部 パイプラインの実装 第22章 パイプラインとは 22-1 パイプライン処理の意義 22-2 CPU処理のパイプライン化 22-3 第III部で完成するChiselコード 第23章 パイプラインレジスタの実装 23-1 レジスタ定義 23-2 IFステージ 23-3 IDステージ 23-4 EXステージ 23-5 MEMステージ 23-6 WBステージ 第24章 分岐ハザード処理 24-1 分岐ハザードとは 24-2 Chiselの実装 24-3 分岐ハザードのテスト 第25章 データハザード処理 25-1 データハザードとは 25-2 フォワーディングのChisel実装 25-3 ストールのChisel実装 25-4 データハザードのテスト 第IV部 ベクトル拡張命令の実装 第26章 ベクトル命令とは 第27章 VSETVLI命令の実装 第28章 ベクトルロード命令の実装 第29章 ベクトル加算命令VADD.VVの実装 第30章 ベクトルストア命令の実装 第V部 カスタム命令の実装 第31章 カスタム命令の意義 第32章 ポピュレーションカウント命令の実装 付録 RISC-Vの価値

Shipping

[Expedited] 2-5 business days (FedEx, DHL, or EMS with tracking number)

International Buyers - Please Note:

eBay has updated its global shipping policy.
In accordance with this policy, for this listing, orders shipped to the United States under USD 2,500 include import duties in the total amount displayed at checkout.
This policy may be subject to change in the future.

For orders shipped to other countries, import duties, taxes, and charges are not included in the item price or shipping cost.
These charges are the buyer's responsibility.
Please check with your country's customs office to determine what these additional costs will be prior to bidding or buying.

Thank you for your understanding.