RISC-VとChiselで学ぶ はじめてのCPU自作――オープンソース命令セットによるカスタムCPU実装への第一歩(技術評論社) [電子書籍]
    • RISC-VとChiselで学ぶ はじめてのCPU自作――オープンソース命令セットによるカスタムCPU実装への第一歩(技...

    • ¥3,520704 ゴールドポイント(20%還元)
    • すぐ読めます
100000086601408668

RISC-VとChiselで学ぶ はじめてのCPU自作――オープンソース命令セットによるカスタムCPU実装への第一歩(技術評論社) [電子書籍]

価格:¥3,520(税込)
ゴールドポイント:704 ゴールドポイント(20%還元)(¥704相当)
フォーマット:
専用電子書籍リーダアプリ「Doly」が必要です。無料ダウンロード
出版社:技術評論社
公開日: 2021年08月20日
すぐ読めます。
お取り扱い: のお取り扱い商品です。
ご確認事項:電子書籍リーダーアプリ「Doly」専用コンテンツ
こちらの商品は電子書籍版です

RISC-VとChiselで学ぶ はじめてのCPU自作――オープンソース命令セットによるカスタムCPU実装への第一歩(技術評論社) の 商品概要

  • 本書では,UCバークレーで開発されたオープンソースの命令セット(ISA)「RISC-V」を用いて,CPUの作り方を解説します。コンピュータアーキテクチャ,ハードウェアに関する知識があまりない方にも理解できるように基礎からわかりやすく学んでいきます。CPUとコンピュータアーキテクチャのしくみを解説したうえで,基本整数命令の実装から,CPUの高速化で活躍するパイプラインの実装,スーパーコンピューターでも活躍するベクトル拡張命令(SIMD),さらに,汎用CPUでは負荷の高い処理をより高速に実行するためにCPUへ追加可能なカスタム命令の実装までを行います。CPU設計に用いる基本言語としては,Velilogを抽象化したHDL(ハードウェア記述言語)であるChiselを利用しています。
    CPUの自作範囲に関して,手順が煩雑なFPGAでの動作確認は行わず,ソフトウェア上でエミュレーションをゴールとしているので,ソフトウェアエンジニアの方にも取っ付きやすいものとなっています。
    巻末には,昨今RISC-Vが注目されている理由を整理するため,RISC-Vのもたらす価値についてまとめています。
  • 目次

    まえがき
    第Ⅰ部 CPU自作のための基礎知識
    第1章 CPUとは何か
    1-1 電子回路が論理を表現できる理由
    1-2 基本論理回路がCPUを実現できる理由
    1-3 CPUの製造プロセス
    Column バイポーラトランジスタとCMOS
    第2章 コンピュータ・アーキテクチャ
    2-1 メモリ
    2-2 コンピュータの基本的な処理の流れ
    Column デコード処理の簡略化
    Column RISCとCISC
    Column レジスタとメモリの扱い
    第3章 ハードウェア記述言語Chiselの基本
    3-1 Chiselとは
    3-2 オブジェクト指向とは
    3-3 Scalaの基本文法
    3-4 Chiselの基本文法
    Column あらゆるものがオブジェクト
    第Ⅱ部「簡単なCPUの実装」
    第4章 環境構築
    4-1 chisel-templateのダウンロード
    4-2 Dockerによる実行環境の構築
    4-3 命令bit列および定数ファイル
    4-4 第Ⅱ部で実装する命令と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の実装
    Column LI(Load Immediate)命令
    第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 テストの実行
    Column コンパイルとアセンブル
    第Ⅲ部 パイプラインの実装
    第22章 パイプラインとは
    22-1 パイプライン処理の意義
    22-2 CPU処理のパイプライン化
    22-3 第Ⅲ部で完成する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 分岐ハザードのテスト
    Column 静的分岐予測と動的分岐予測
    第25章 データハザード処理
    25-1 データハザードとは
    25-2 フォワーディングのChisel実装
    25-3 ストールのChisel実装
    25-4 データハザードのテスト
    第Ⅳ部 ベクトル拡張命令の実装
    第26章 ベクトル命令とは
    26-1 SIMDとは
    26-2 既存のベクトルアーキテクチャ
    26-3 RISC-Vのベクトル命令とSIMD命令の相違点
    26-4 第Ⅳ部で完成するChiselコード
    Column スーパーコンピュータ「富岳」
    第27章 VSETVLI命令の実装
    27-1 RISC-VのVSETVLI命令定義
    27-2 VTYPE
    27-3 Chiselの実装
    27-4 テストの実行
    第28章 ベクトルロード命令の実装
    28-1 unit-stride形式のベクトルロード命令定義
    28-2 Chiselの実装
    28-3 テストの実行
    第29章 ベクトル加算命令VADD.VVの実装
    29-1 RISC-VのVADD.VV命令定義
    29-2 Chiselの実装
    29-3 テストの実行
    第30章 ベクトルストア命令の実装
    30-1 unit-stride形式のベクトルストア命令定義
    30-2 Chiselの実装
    30-3 テストの実行
    第Ⅴ部 カスタム命令の実装
    第31章 カスタム命令の意義
    31-1 シングルコアの性能向上と限界
    31-2 マルチコアによる並列処理の効率化と限界
    31-3 DSAの可能性
    31-4 DSAとRISC-V
    Column 消費電力対策
    Column アクセラレータ
    第32章 ポピュレーションカウント命令の実装
    32-1 ポピュレーションカウント命令とは
    32-2 カスタム命令を実装しない場合のポピュレーションカウントプログラム
    32-3 カスタム命令用のコンパイラ(アセンブラ)実装
    32-4 Chiselの実装
    32-5 テストの実行
    付録 RISC-Vの価値
    A-1 オープンソースISAの必要性
    A-2 RISC-Vが実現するもの
    A-3 チップ製造コストの壁とその将来性
    もっと深く学びたい人へのお勧め書籍

RISC-VとChiselで学ぶ はじめてのCPU自作――オープンソース命令セットによるカスタムCPU実装への第一歩(技術評論社) の商品スペック

Cコード 3055
出版社名 技術評論社
本文検索
紙の本のISBN-13 9784297123055
他の技術評論社の電子書籍を探す
ファイルサイズ 22.8MB
著者名 ⻄⼭悠太朗
井⽥健太
著述名

    技術評論社 RISC-VとChiselで学ぶ はじめてのCPU自作――オープンソース命令セットによるカスタムCPU実装への第一歩(技術評論社) [電子書籍] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!