/quiz

读书会知识竞赛,分享你的心得和疑问

本仓库由 《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/