本仓库由 《RISC-V体系结构编程与实践》 一书(以下简称“本书”)的非官方读书会维护。 关于本书:奔跑吧Linux社区又一新作,旨在帮助读者快速掌握RISC-V体系架构; 关于读书会:读书会的目的是共同进步、互相学习、(严格)监督,快速看完,让本书不吃灰。 读书会成员阅读期间,将在此仓库以知识竞赛的形式记录一些问题,规则为: 1. 阅读时需要提出 2~3 个问题,在 chapters 下对应文件中记录。 问题没有标准,唯一要求是不允许提供答案。 作为一场知识竞赛,读书会成员阅读时,可以尝试解决其他成员提出的问题,并且需要记录问题供其他成员解决,题目可以是 a. (以问题的形式)分享自己已经掌握但觉得重要的知识 b. (以问题的形式)记录任何你想记录的东西 c. 问题不要包括自己完全不懂,希望别人给出答案的内容。如果有疑问,可以随时在群组中提出,并和大家一起讨论。 更重要的是,你可以通过出题和解题来让自己更强大。 题目的最后提交时间为周五,留出做题的时间。 每章节问题数量建议在 10 ~ 15 个。 2. 阅读时间限定为 6~7 周,每周至少 3 个章节 开始时间为 2023年04月03日,读书会将会在每周五和周日由本周 owner 组织两次线上会议讨论,owner 每周更换一次。 每周最低要求是3个章节,此要求是为了保证在大家起点一致的情况下,在一个月左右解决掉本书,不让战线拉得太长。 读书会成员的阅读进度也由每周 owner 负责观测: 如果有一周没有完成进度,将会被踢出群组、项目; 完成的同学将会获得每周的自律认证,结束后还会有一次汇总的自律认证(让我们看看谁掉队了)。 以下是大概的时间表: Week 01, owner: peeweep, 2023-04-03 ~ 2023-04-09 第1章 RISC-V体系结构基础知识 1 第2章 搭建RISC-V实验环境 29 第3章 基础指令集 44 本周自律认证: dlan17 slchris ArchFeh peeweep Ryan shiptux yongxiang Sakura286 XYenChi Jingwiw jchzhou sunmin89 Week 01 只有两位同学没有通过, good news! Week 02, owner: ryan, 2023-04-10 ~ 2023-04-16 第4章 函数调用规范与栈 67 第5章 GNU汇编器 79 第6章 链接器与链接脚本 94 Week 03, owner: jonas, 2023-04-17 ~ 2023-04-23 第7章 内嵌汇编代码 118 第8章 异常处理 130 第9章 中断处理与中断控制器 156 Week 04, owner: peeweep, 2023-04-24 ~ 2023-04-30 第10章 内存管理 172 第11章 高速缓存 207 第12章 缓存一致性 224 由于五一假期 2023-05-01 ~ 2023-05-07 不做要求, 线上讨论正常进行 Week 05, owner: shiptux, 2023-05-08 ~ 2023-05-15 第13章 TLB管理 246 第14章 原子操作 261 第15章 内存屏障指令 275 Week 06 第16章 合理使用内存屏障指令 299 第17章 与操作系统相关的内容 316 第19章 压缩指令扩展 393 Week 07 第18章 可伸缩矢量计算与优化 345 第20章 虚拟化扩展 396 如果你对我们的进度感兴趣,或者想参与进来,可以发邮件到 running-linux-riscv@0x0.ee 表达你的来意,获取我们的 Telegram 群聊链接。 Refs: 1. 本书配套实验: https://github.com/runninglinuxkernel/riscv_programming_practice 2. Gentoo Quiz: https://gitweb.gentoo.org/sites/projects/comrel.git/tree/recruiters/quizzes/developer-quiz.txt 3. RISC-V spec Unprivileged Spec: https://github.com/riscv/riscv-isa-manual/releases/download/Ratified-IMAFDQC/riscv-spec-20191213.pdf Privileged Spec: https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md 5. RISC-V 中文手册: http://riscvbook.com/chinese/RISC-V-Reader-Chinese-v2p1.pdf 6. 汪辰老师 rvos 汇编部分: https://www.bilibili.com/video/BV1Q5411w7z5 7. 逆向工程权威指南: https://beginners.re/ 8. [Linker and loader 英文版](https://wh0rd.org/books/linkers-and-loaders/linkers_and_loaders.pdf) [中文版](https://github.com/flyfire/book-cs/blob/master/base/%E5%8A%A0%E8%BD%BD%E5%99%A8%E5%92%8C%E8%BF%9E%E6%8E%A5%E5%99%A8(Linker%20and%20Loader)%20%E4%B8%AD%E6%96%87%E7%89%88.pdf) 9. 在线看 demo 的汇编: https://godbolt.org/