全部学习汇总: GreyZhang/g_risc_v: Learning notes about RISC V. (github.com)
看了一份几年前的文章,觉得还是挺有收获的,因此做一个简单的整理。
对于架构有很大影响的主要考虑四点:专用硬件的实现、高安全性的要求、开放指令集、敏捷芯片开发。
在早期的芯片中,尤其是以X86为代表的CISC芯片中,为了保证架构上的一些统一性和可变性。在设计方面,借鉴了软件处理的理念,有一个二维数组的处理模型。这部分的处理过程其实是通过微指令实现的,而我们熟知的指令可能会由多条微指令实现。
Intel曾经设计规划过一个架构上更加合理的芯片,8800,并且规划了基于Ada的OS。但是,由于市场的耐心有限,x86临时进行了扩展,支持了16bit之后替代了8800的一些规划。
1. CISC中的VAX微码比较占用资源,而且使用比较少。而研究上发现,只使用精简的指令集软件有很大的效率提升。
2. RISC没有微码解释器,执行由硬件直接处理。原本在CISC中用于微码处理的存储资源被用来做缓存。
3. RISC的出现,由学生设计出来了比公司还优秀的作品。
4. 在效率权衡等方面,这里参考了高德纳的一些理论。可以看得出来,高德纳在计算机领域的影响力。
1. 安腾的设计本身其实还是很好的,但是很大的失败原因在于没有一个良好的编译器完成高质量的代码转换。因此,迫于市场需求的影响,再次被升级为64bit的x86顶上了。
2. 2007年的iPhone,在芯片设计以及生产上走出了全新的路子。
1. 虽然在PC时代,CISC还是赢得了当前的市场。但是RISC看起来可以赢得未来。
2. 德纳缩放定律,是一个跟摩尔定律类似的描述。其实,这两个定律只是再给人们呈现一种既定的时事,德纳缩放定律说明的是功耗方面的发展。
1. 多流水线指令预测上的挑战,催生了多核技术。
2. 多核技术解决了算力或者性能问题,但是又引入了能耗的问题。
3. TDP,指的是散热功率,很大程度上制约了芯片的表现能力。而由此也引入了一个说法:暗硅时代。
1. 云计算的场景下,潜在的竞争对手之间可能共享了物理硬件。
2. 出现的meltdown、spectre等严重的芯片bug也更加让人们意识到芯片架构设计时候对安全考虑的重要性。
3. 这里有一个很好的观点:我们面前有着大量的机会,它们伪装成问题存在。
为了解决运行效率低的问题,出现了专用的硬件。当前,这部分跟多是在AI领域所需要的矩阵运算。
提升运算效率的方法除了专用的硬件之外,还有专用的编程语言。
1. 在特定的计算领域,比如说矩阵预算,相比CPU来说TPU效率高且功耗低。
2. 当前开放架构的优点:开发的规范统一、可以定制裁剪、简单、设计上已经洗去了足够多的经验和教训。
3. RISC V,为DSA的扩展留下了大量的微码空间。
4. FPGA的实现方式比实际的芯片应该慢10倍,这个是一个可以参考的指标。
5. 有一份叫做《软件敏捷开发宣言》的资料,后面可以找出来看看。
这就是这一份资料值得梳理关注的地方。最后一页中,文档列出来了大量的引用资料,可以看得出来,这一份资料的成文还是花了很大的功夫的。