中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
RISC-V體系結構編程與實踐

包郵 RISC-V體系結構編程與實踐

出版社:人民郵電出版社出版時間:2023-02-01
開本: 16開 頁數: 440
中 圖 價:¥77.9(6.0折) 定價  ¥129.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

RISC-V體系結構編程與實踐 版權信息

  • ISBN:9787115603609
  • 條形碼:9787115603609 ; 978-7-115-60360-9
  • 裝幀:簡裝本
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>

RISC-V體系結構編程與實踐 本書特色

一本書帶你了解谷歌、蘋果等科技巨頭看好的RISC-V體系結構



1.一線芯片公司工程師撰寫,系統介紹RISC-V體系結構,總結常見陷阱以及項目經驗



2.圖文并茂,用通俗易懂的語言講述RISC-V體系結構中的疑難點



3.充實理論+有趣實驗,助力讀者快速掌握RISC-V體系結構



4.實用豐富的配套資源,隨書贈送參考代碼、實驗環境和免費視頻講解

RISC-V體系結構編程與實踐 內容簡介

RISC-V體系結構基礎知識以及香山處理器微架構實現;



RISC-V實驗環境的搭建;



RISC-V指令集中常用指令、RISC-V函數的調用規范與棧;



GNU匯編器、鏈接器、鏈接腳本和GCC內嵌匯編代碼。



RISC-V體系結構中的中斷和異常處理;



RISC-V體系結構中的內存管理、高速緩存、緩存一致性;



RISC-V體系結構中的TLB管理、原子操作和內存屏障指令;



RSIC-V體系結構中的壓縮指令擴展;



RISC-V體系結構中的虛擬化擴展;



RISC-V體系結構中的可伸縮矢量指令擴展。

RISC-V體系結構編程與實踐 目錄

第 1章 RISC-V體系結構基礎知識 1



1.1 RISC-V介紹 1



1.1.1 RISC-V指令集優點 1



1.1.2 RISC-V指令集擴展 2



1.1.3 RISC-V商業化發展 2



1.2 RISC-V體系結構介紹 3



1.2.1 RISC-V體系結構 3



1.2.2 采用RISC-V體系結構的常見處理器 3



1.2.3 RISC-V體系結構中的基本概念 4



1.2.4 SBI服務 5



1.3 RISC-V寄存器 6



1.3.1 通用寄存器 6



1.3.2 系統寄存器 7



1.3.3 U模式下的系統寄存器 8



1.3.4 S模式下的系統寄存器 9



1.3.5 M模式下的系統寄存器 11



1.4 香山處理器介紹 15



1.4.1 香山處理器體系結構 15



1.4.2 香山處理器的前端子系統 16



1.4.3 香山處理器的后端子系統 18



1.4.4 香山處理器的訪存子系統 20



1.4.5 香山處理器的L2/L3高速緩存 25





第 2章 搭建RISC-V實驗環境 29



2.1 實驗平臺 29



2.1.1 QEMU 29



2.1.2 NEMU 30



2.2 搭建實驗環境 31



2.2.1 實驗2-1:輸出“Welcome RISC-V!” 31



2.2.2 實驗2-2:單步調試BenOS和MySBI 32



2.3 BenOS和MySBI基礎實驗代碼解析 34



2.3.1 MySBI基礎代碼分析 34



2.3.2 BenOS基礎代碼分析 37



2.3.3 合并BenOS和MySBI 41



2.4 QEMU + RISC-V + Linux實驗平臺 41





第3章 基礎指令集 44



3.1 RISC-V指令集介紹 44



3.2 RISC-V指令編碼格式 45



3.3 加載與存儲指令 46



3.4 PC相對尋址 49



3.5 移位操作 53



3.6 位操作指令 55



3.7 算術指令 56



3.8 比較指令 57



3.9 無條件跳轉指令 58



3.10 條件跳轉指令 59



3.11 CSR指令 61



3.12 尋址范圍 62



3.13 陷阱:為什么ret之后就進入死循環 62



3.14 實驗 64



3.14.1 實驗3-1:熟悉加載指令 64



3.14.2 實驗3-2:PC相對地址尋址 64



3.14.3 實驗3-3:memcpy()函數的實現 65



3.14.4 實驗3-4:memset()函數的實現 65



3.14.5 實驗3-5:條件跳轉指令1 65



3.14.6 實驗3-6:條件跳轉指令2 66



3.14.7 實驗3-7:子函數跳轉 66



3.14.8 實驗3-8:在匯編中實現串口輸出功能 66





第4章 函數調用規范與棧 67



4.1 函數調用規范 67



4.2 入棧與出棧 70



4.3 RISC-V棧的布□ 72



4.3.1 不使用FP的棧布□ 72



4.3.2 使用FP的棧布□ 74



4.3.3 棧回溯 76



4.4 實驗 78



4.4.1 實驗4-1:觀察棧布□ 78



4.4.2 實驗4-2:觀察棧回溯 78





第5章 GNU匯編器 79



5.1 編譯流程與ELF文件 79



5.2 一個簡單的匯編程序 82



5.3 匯編語法 84



5.3.1 注釋 84



5.3.2 符號 84



5.4 常用的偽指令 85



5.4.1 對齊偽指令 85



5.4.2 數據定義偽指令 86



5.4.3 與函數相關的偽指令 87



5.4.4 與段相關的偽指令 87



5.4.5 與宏相關的偽指令 89



5.4.6 與文件相關的偽指令 91



5.5 RISC-V依賴特性 91



5.5.1 RISC-V特有的命令行選項 91



5.5.2 RISC-V特有的偽指令 92



5.6 實驗 92



5.6.1 實驗5-1:匯編語言練習—查找□□數 92



5.6.2 實驗5-2:匯編語言練習—通過C語言調用匯編函數 92



5.6.3 實驗5-3:匯編語言練習—通過匯編語言調用C函數 92



5.6.4 實驗5-4:使用匯編偽操作實現一張表 92



5.6.5 實驗5-5:匯編宏的使用 93





第6章 鏈接器與鏈接腳本 94



6.1 鏈接器 94



6.2 鏈接腳本 95



6.2.1 一個簡單的鏈接程序 95



6.2.2 設置入口點 96



6.2.3 基本概念 97



6.2.4 符號賦值與引用 97



6.2.5 當前位置計數器 98



6.2.6 SECTIONS命令 99



6.2.7 常用的內置函數 101



6.3 加載重定位 103



6.3.1 BenOS重定位 103



6.3.2 OpenSBI和Linux內核重定位 105



6.4 鏈接重定位與鏈接器松弛優化 108



6.4.1 鏈接重定位 108



6.4.2 函數跳轉優化 112



6.4.3 符號地址訪問優化 114



6.5 實驗 116



6.5.1 實驗6-1:分析鏈接腳本 116



6.5.2 實驗6-2:輸出每個段的內存布□ 116



6.5.3 實驗6-3:加載地址不等于運行地址 117



6.5.4 實驗6-4:設置鏈接地址 117



6.5.5 實驗6-5:鏈接器松弛優化1 117



6.5.6 實驗6-6:鏈接器松弛優化2 117



6.5.7 實驗6-7:分析Linux 5.15內核的鏈接腳本 117





第7章 內嵌匯編代碼 118



7.1 內嵌匯編代碼基本用法 118



7.2 案例分析 124



7.3 注意事項 128



7.4 實驗 128





第8章 異常處理 130



8.1 異常處理基本概念 130



8.2 與M模式相關的異常寄存器 133



8.3 與S模式相關的異常寄存器 137



8.4 異常上下文 139



8.5 案例分析8-1:實現SBI系統調用 142



8.6 案例分析8-2:BenOS的異常處理 148



8.7 實驗 154





第9章 中斷處理與中斷控制器 156



9.1 中斷處理基本概念 156



9.2 CLINT 159



9.3 案例分析9-1:定時器中斷 160



9.4 PLIC 164



9.5 案例分析9-2:串口中斷 167



9.6 實驗 171





第 10章 內存管理 172



10.1 內存管理基礎知識 172



10.2 RISC-V內存管理 178



10.3 物理內存屬性與物理內存保護 187



10.4 案例分析10-1:在BenOS里實現恒等映射 190



10.5 內存管理實驗 204





第 11章 高速緩存 207



11.1 為什么需要高速緩存 207



11.2 高速緩存的訪問延時 208



11.3 高速緩存的工作原理 210



11.4 高速緩存的映射方式 212



11.5 虛擬高速緩存與物理高速緩存 215



11.6 重名和同名問題 216



11.7 高速緩存策略 220



11.8 高速緩存的維護指令 221





第 12章 緩存一致性 224



12.1 為什么需要緩存一致性 224



12.2 緩存一致性的分類 225



12.3 緩存一致性的解決方案 227



12.4 MESI協議 228



12.5 高速緩存偽共享 237



12.6 兩種緩存一致性控制器 239



12.7 案例分析12-1:偽共享的避免 241



12.8 案例分析12-2:DMA和高速緩存的一致性 242



12.9 案例分析12-3:自修改代碼的一致性 244



12.10 實驗 245





第 13章 TLB管理 246



13.1 TLB基礎知識 247



13.2 TLB重名與同名問題 249



13.3 ASID 251



13.4 TLB管理指令 253



13.5 TLB案例分析 256



第 14章 原子操作 261



14.1 原子操作介紹 261



14.2 保留加載與條件存儲指令 262



14.3 獨占內存訪問工作原理 263



14.4 原子內存訪問操作指令 266



14.5 比較并交換操作 270





第 15章 內存屏障指令 275



15.1 內存屏障指令產生的原因 275



15.2 RISC-V約束條件 280



15.3 RISC-V中的內存屏障指令 284



15.4 RISC-V內存屏障指令移植指南 286



15.5 案例分析 288



15.6 模擬和測試內存屏障故障 291



15.7 實驗 297





第 16章 合理使用內存屏障指令 299



16.1 存儲緩沖區與寫內存屏障指令 300



16.2 無效隊列與讀內存屏障指令 305



16.3 內存屏障指令總結 307



16.4 案例分析:Linux內核中的內存屏障指令 308



16.5 實驗 315





第 17章 與操作系統相關的內容 316



17.1 C語言常見陷阱 317



17.2 創建進程 320



17.3 簡易進程調度器 327



17.4 讓進程運行在用戶模式 335



17.5 系統調用 338



17.6 實現clone系統調用 341



17.7 實驗 343





第 18章 可伸縮矢量計算與優化 345



18.1 矢量計算基本概念 345



18.2 RVV寄存器 348



18.3 配置編譯和運行環境 351



18.4 RVV指令格式 357



18.5 配置指令 358



18.6 加載和存儲指令 360



18.7 矢量掩碼指令 369



18.8 矢量整型算術指令 372



18.9 案例分析18-1:使用RVV指令優化strcmp()函數 377



18.10 案例分析18-2:RGB24轉BGR24 380



18.11 案例分析18-3:4 × 4矩陣乘法運算 382



18.12 案例分析18-4:使用RVV內置函數 388



18.13 案例分析18-5:自動矢量優化 388



18.14 術語 390



18.15 實驗 391





第 19章 壓縮指令擴展 393



19.1 RISC-V指令集的特點 393



19.2 RVC支持的指令格式與指令編碼 394





第 20章 虛擬化擴展 396



20.1 虛擬化技術介紹 396



20.2 RISC-V虛擬化擴展 399



20.3 RISC-V內存虛擬化 404



20.4 RISC-V虛擬化擴展中的新增指令 406



20.5 進入和退出虛擬機 407



20.6 中斷虛擬化 410



20.7 案例分析20-1:進入和退出虛擬機 412



20.8 案例分析20-2:建立虛擬化兩階段地址映射 415



20.9 案例分析20-3:在虛擬機中實現虛擬定時器 420



20.10 案例分析20-4:在VMM中加載和存儲虛擬機內存地址 422



20.11 案例分析20-5:在VMM中模擬串口設備 424



20.12 實驗 429



附錄A 關于RISC-V體系結構自測題的參考答案與提示 431



附錄B RV64I指令速查表 433



附錄C RV64M指令速查表 437



附錄D RV64常用偽指令速查表 439
展開全部

RISC-V體系結構編程與實踐 作者簡介

奔跑吧Linux社區 由一群熱愛開源的工程師組成,致力于開源硬件和開源軟件的推廣。





審校者簡介



香山處理器團隊



面向世界的體系結構創新開源平臺,目前已形成由多家企業組成的香山聯合開發團隊。其中,香山處理器是由中國科學院計算技術□□□發起的開源高性能RISC-V處理器核項目。



龍蜥社區RISC-V SIG



堅持開放、開源,致力于龍蜥社區以及 RISCV 軟硬件生態的共建和推廣。



進迭時空



專注研發新一代高性能RISC-V處理器和計算系統,讓開發者基于RISC-V芯片更自由地開發更有創意的新應用。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 焦作网 WWW.JZRB.COM| 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 高光谱相机-近红外高光谱相机厂家-高光谱成像仪-SINESPEC 赛斯拜克 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 交通信号灯生产厂家_红绿灯厂家_电子警察监控杆_标志杆厂家-沃霖电子科技 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 选矿设备,选矿生产线,选矿工艺,选矿技术-昆明昆重矿山机械 | 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 锤式粉碎机,医药粉碎机,锥式粉碎机-无锡市迪麦森机械制造有限公司 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 万濠影像仪(万濠投影仪)百科-苏州林泽仪器 | 洛阳网站建设_洛阳网站优化_网站建设平台_洛阳香河网络科技有限公司 | 100_150_200_250_300_350_400公斤压力空气压缩机-舰艇航天配套厂家 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 耐磨陶瓷,耐磨陶瓷管道_厂家-淄博拓创陶瓷科技 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 楼承板-开口楼承板-闭口楼承板-无锡海逵 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | 糖衣机,除尘式糖衣机,全自动糖衣机,泰州市长江制药机械有限公司 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 刮板输送机,粉尘加湿搅拌机,螺旋输送机,布袋除尘器 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 加盟店-品牌招商加盟-创业项目商机平台 | 自动螺旋上料机厂家价格-斗式提升机定制-螺杆绞龙输送机-杰凯上料机 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | 烟台金蝶财务软件,烟台网站建设,烟台网络推广 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 |