Arch Blog Overviews

这篇博客干脆做一个汇总好了,在毕业那年算是做了一些 Arch 的入门. 现在回头翻也比较好,然后最近也可能添加一些新内容(因为在看 perfbook)。

mwish’s blogs

首先是我自己写的一些:

Cache

  1. Cache Consistency in CPU and Distributed System: https://blog.mwish.me/2020/12/12/Cache-Consistency-in-CPU-and-Distributed-System/ (介绍了一些 MOSI 之类的东西,包括 Snooping 协议和 Directory 协议)
  2. Cache 的结构,和组相联缓存:https://blog.mwish.me/2020/10/29/Cache-and-Related-Part1/
  3. 用户使用 Cache 的优化:https://blog.mwish.me/2020/10/31/Cache-and-Related-Part2/
  4. Cache Coherent 和 Memory Order: https://blog.mwish.me/2020/11/01/Cache-and-Related-Part3-Coherent/

此外因为是 RV,所以我收集了一些内存模型相关的材料:

  1. https://www.cs.utexas.edu/~bornholt/post/memory-models.html
  2. A Tutorial Introduction to the ARM and POWER Relaxed Memory Models
  3. https://www.kernel.org/doc/Documentation/memory-barriers.txt (和 2 可以一起看,对照就懂很多了)
  4. https://riscv.org/wp-content/uploads/2018/05/14.25-15.00-RISCVMemoryModelTutorial.pdf
  5. A Primer on Memory Consistency and Cache Coherence, Second Edition

按照顺序读下去基本上不会被网友扯犊子骗了。

CPU

  1. flip-flop 到执行电路:https://blog.mwish.me/2020/10/14/SDS-Intro-RISC-V-Datapath/
  2. 基本的 datapath: https://blog.mwish.me/2020/10/15/SDS-Intro-RISC-V-Datapath-2-Datapath/
  3. 控制逻辑、Pipeline:https://blog.mwish.me/2020/10/18/SDS-Intro-RISC-V-Datapath-3-Control-logic-and-metric/
  4. 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

  1. 虚拟内存: 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/

其他

  1. RISC-V 基本指令:https://blog.mwish.me/2020/03/28/RISC-V-GetStart/
  2. RISC-V 指令格式:https://blog.mwish.me/2020/10/04/RISC-V-%E6%8C%87%E4%BB%A4%E6%A0%BC%E5%BC%8F/
  3. libc 和 标准库:https://blog.mwish.me/2020/04/04/CALL-libc-%E5%92%8C-C-%E6%A0%87%E5%87%86%E5%BA%93/
  4. 二进制补码、整数、浮点数、大小端:https://blog.mwish.me/2020/09/19/Integer-Endian/

Courses

然后是一些课程:

  1. UCB cs61c: 比较入门的课程,算是体系结构版 CSAPP. 我上面很多基础概念基本都是这里 Build 的
  2. UCB cs152: cs61c 的后续,正经系统结构
  3. CMU 15-418: CMU 的 HPC,很多图和分析思路非常好
  4. ETHz dphpc 2019: 包括了一些 Lock-free 之类的东西,很 pratical

Books and websites

最后是一些外部资源:

  1. Computer Organization and Design RISC-V Edition : The Hardware Software Interface
  2. https://www.agner.org/
  3. Computer Architecture: A Quantitative Approach, 6th
  4. 深入浅出SSD : 固态存储核心技术、原理与实战
  5. What Every Programmer Should Know About Memory