Arch Blog Overviews
这篇博客干脆做一个汇总好了,在毕业那年算是做了一些 Arch 的入门. 现在回头翻也比较好,然后最近也可能添加一些新内容(因为在看 perfbook)。
mwish’s blogs
首先是我自己写的一些:
Cache
- Cache Consistency in CPU and Distributed System: https://blog.mwish.me/2020/12/12/Cache-Consistency-in-CPU-and-Distributed-System/ (介绍了一些 MOSI 之类的东西,包括 Snooping 协议和 Directory 协议)
- Cache 的结构,和组相联缓存:https://blog.mwish.me/2020/10/29/Cache-and-Related-Part1/
- 用户使用 Cache 的优化:https://blog.mwish.me/2020/10/31/Cache-and-Related-Part2/
- Cache Coherent 和 Memory Order: https://blog.mwish.me/2020/11/01/Cache-and-Related-Part3-Coherent/
此外因为是 RV,所以我收集了一些内存模型相关的材料:
- https://www.cs.utexas.edu/~bornholt/post/memory-models.html
- A Tutorial Introduction to the ARM and POWER Relaxed Memory Models
- https://www.kernel.org/doc/Documentation/memory-barriers.txt (和 2 可以一起看,对照就懂很多了)
- https://riscv.org/wp-content/uploads/2018/05/14.25-15.00-RISCVMemoryModelTutorial.pdf
- A Primer on Memory Consistency and Cache Coherence, Second Edition
按照顺序读下去基本上不会被网友扯犊子骗了。
CPU
- flip-flop 到执行电路:https://blog.mwish.me/2020/10/14/SDS-Intro-RISC-V-Datapath/
- 基本的 datapath: https://blog.mwish.me/2020/10/15/SDS-Intro-RISC-V-Datapath-2-Datapath/
- 控制逻辑、Pipeline:https://blog.mwish.me/2020/10/18/SDS-Intro-RISC-V-Datapath-3-Control-logic-and-metric/
- Hazard、Pipeline、OoO: https://blog.mwish.me/2020/10/21/SDS-Intro-RISC-V-Datapath-4-Pipeline/
看 perfbook 的时候追加了一些图片: https://blog.mwish.me/2022/05/04/perfbook-notes-hardware/
Memory
- 虚拟内存: https://blog.mwish.me/2020/11/08/%E8%BD%AF-%E7%A1%AC%E7%9A%84%E5%88%86%E7%95%8C-%E8%99%9A%E6%8B%9F/
其他
- RISC-V 基本指令:https://blog.mwish.me/2020/03/28/RISC-V-GetStart/
- RISC-V 指令格式:https://blog.mwish.me/2020/10/04/RISC-V-%E6%8C%87%E4%BB%A4%E6%A0%BC%E5%BC%8F/
- libc 和 标准库:https://blog.mwish.me/2020/04/04/CALL-libc-%E5%92%8C-C-%E6%A0%87%E5%87%86%E5%BA%93/
- 二进制补码、整数、浮点数、大小端:https://blog.mwish.me/2020/09/19/Integer-Endian/
Courses
然后是一些课程:
- UCB cs61c: 比较入门的课程,算是体系结构版 CSAPP. 我上面很多基础概念基本都是这里 Build 的
- UCB cs152: cs61c 的后续,正经系统结构
- CMU 15-418: CMU 的 HPC,很多图和分析思路非常好
- ETHz dphpc 2019: 包括了一些 Lock-free 之类的东西,很 pratical
Books and websites
最后是一些外部资源:
- Computer Organization and Design RISC-V Edition : The Hardware Software Interface
- https://www.agner.org/
- Computer Architecture: A Quantitative Approach, 6th
- 深入浅出SSD : 固态存储核心技术、原理与实战
- What Every Programmer Should Know About Memory