RISC-V 體系結構編程與實踐, 2/e

笨叔

  • 出版商: 人民郵電
  • 出版日期: 2024-09-01
  • 售價: $779
  • 貴賓價: 9.5$740
  • 語言: 簡體中文
  • 頁數: 474
  • ISBN: 7115646031
  • ISBN-13: 9787115646033
  • 相關分類: RISC-V
  • 立即出貨

  • RISC-V 體系結構編程與實踐, 2/e-preview-1
  • RISC-V 體系結構編程與實踐, 2/e-preview-2
RISC-V 體系結構編程與實踐, 2/e-preview-1

買這商品的人也買了...

相關主題

商品描述

本書旨在介紹 RISC-V 體系結構的設計和實現。本書首先介紹 RISC-V 體系結構基礎知識、實驗環境搭建、基礎指令集、函數調用規範與棧,然後講解 GNU 匯編器、鏈接器與鏈接腳本、內嵌匯編代碼,接著討論 RISC-V 體系結構中的異常處理、中斷處理與中斷控制器、內存管理、高速緩存、緩存一致性、TLB 管理、原子操作、內存屏障指令、合理使用內存屏障指令、與操作系統相關的內容、可伸縮矢量計算與優化,最後闡述 RISC-V 體系結構中的壓縮指令擴展、虛擬化擴展、高性能處理器架構分析等。

本書不僅適合軟件開發人員閱讀,還可以作為電腦相關專業和相關培訓機構的教材。

作者簡介

張天飛,筆名笨叔,英特爾亞太研發中心的高級軟件工程師,從事手機芯片等底層軟件開發,熟悉Linux內核設計與實現,熟悉Android系統底層開發,具有十餘年的Linux開發經驗。出版過《奔跑吧Linux內核(第2版)捲1:基礎架構》《 奔跑吧Linux內核(第2版)捲2:調試與案例分析》《ARM64體系結構編程與實踐》。

張天飛,筆名笨叔,英特爾亞太研發中心的高級軟件工程師,從事手機芯片等底層軟件開發,熟悉Linux內核設計與實現,熟悉Android系統底層開發,具有十餘年的Linux開發經驗。出版過《奔跑吧Linux內核(第 2版)捲1:基礎架構》《 奔跑吧Linux內核(第 2版)捲2:調試與案例分析》《ARM64體系結構編程與實踐》。 張天飛,筆名笨叔,英特爾亞太研發中心的高級軟件工程師,從事手機芯片等底層軟件開發,熟悉Linux內核設計與實現,熟悉Android系統底層開發,具有十餘年的Linux開發經驗。出版過《奔跑吧Linux內核(第 2版)捲1:基礎架構》《 奔跑吧Linux內核(第 2版)捲2:調試與案例分析》《ARM64體系結構編程與實踐》。 張天飛,筆名笨叔,英特爾亞太研發中心的高級軟件工程師,從事手機芯片等底層軟件開發,熟悉Linux內核設計與實現,熟悉Android系統底層開發,具有十餘年的Linux開發經驗。出版過《奔跑吧Linux內核(第 2版)捲1:基礎架構》《 奔跑吧Linux內核(第 2版)捲2:調試與案例分析》《ARM64體系結構編程與實踐》。 張天飛,筆名笨叔,英特爾亞太研發中心的高級軟件工程師,從事手機芯片等底層軟件開發,熟悉Linux內核設計與實現,熟悉Android系統底層開發,具有十餘年的Linux開發經驗。出版過《奔跑吧Linux內核(第 2版)捲1:基礎架構》《 奔跑吧Linux內核(第 2版)捲2:調試與案例分析》《ARM64體系結構編程與實踐

目錄大綱

第1章 RISC-V體系結構基礎知識
1.1 RISC-V介紹
1.1.1 RISC-V指令集優點
1.1.2 RISC-V指令集擴展
1.1.3 RISC-V商業化發展
1.2 RISC-V體系結構介紹
1.2.1 RISC-V體系結構
1.2.2 採用RISC-V體系結構的常見處理器
1.2.3 RISC-V體系結構中的基本概念
1.2.4 SBI服務
1.3 RISC-V寄存器
1.3.1 通用寄存器
1.3.2 系統寄存器
1.3.3 U模式下的系統寄存器
1.3.4 S模式下的系統寄存器
1.3.5 M模式下的系統寄存器
第2章 搭建RISC-V實驗環境
2.1 實驗平臺
2.1.1 QEMI
2.1.2 NEMI
2.2 搭建實驗環境
2.2.1 實驗2-1:輸出“Welcome to RISC-V!”
2.2.2 實驗2-2:單步調試BenOS和MySBI
2.3 MySBI和BenOS基礎實驗代碼解析
2.3.1 MySBI基礎實驗代碼解析
2.3.2 BenOS基礎實驗代碼解析
2.3.3 合並BenOS和MySBI
2.4 QEMU+RISC-V+Linux實驗平臺
第3章 基礎指令集
3.1 RISC-V指令集介紹
3.2 RISC-V指令編碼格式
3.3 加載與存儲指令
3.4 PC相對尋址
3.5 移位操作
3.6 位操作指令
3.7 算術指令
3.8 比較指令
3.9 無條件跳轉指令
3.10 條件跳轉指令
3.11 CSR指令
3.12 尋址範圍
3.13 陷阱:為什麽調用RET指令之後就進入死循環
3.14 實驗
3.14.1 實驗3-1:熟悉加載指令
3.14.2 實驗3-2:PC相對尋址
3.14.3 實驗3-3:memcpy()函數的實現
3.14.4 實驗3-4:memset()函數的實現
3.14.5 實驗3-5:條件跳轉指令1
3.14.6 實驗3-6:條件跳轉指令2
3.14.7 實驗3-7:子函數跳轉
3.14.8 實驗3-8:在匯編中實現串口輸出功能
第4章 函數調用規範與棧
4.1 函數調用規範
4.2 入棧與出棧
4.3 RISC-V的棧佈局
4.3.1 不使用FP的棧佈局
4.3.2 使用FP的棧佈局
4.3.3 棧回溯
……
第5章 GNU匯編器
第6章 鏈接器與鏈接腳本
第7章 內嵌匯編代碼
第8章 異常處理
第9章 中斷處理與中斷控制器
第10章 內存管理
第11章 高速緩存
第12章 緩存一致性
第13章 TLB管理
第14章 原子操作
第15章 內存屏障指令
第16章 合理使用內存屏障指令
第17章 與操作系統相關的內容
第18章 可伸縮矢量計算與優化
第19章 壓縮指令擴展
第20章 虛擬化擴展
第21章 RISC-V高性能處理器架構分析
RISC-V體系結構自測題
附錄A RISC-V體系結構自測題的戰者答起與擔示
附錄B RV64I指令速查表
附錄C RV64M指令速查表
附錄D RV64常用偽指令速查表