Verilog练习生
从FPGA实现转向架构设计,这个跨度需要补充的知识确实不少,但你有硬件底子其实是很大的优势。我建议分两条线并行学习,并注重交叉融合。
第一条线:计算机体系结构。这是地基。课程推荐MIT的6.823(Computer System Architecture)或者Onur Mutlu在YouTube上的讲座,非常系统。书籍除了经典的量化研究方法,可以补充《深入理解计算机系统》(CSAPP)来巩固基础概念。你需要重点攻克的是:缓存一致性协议(MESI等)、片上网络(NoC)、内存控制器、以及多核/众核架构下的任务调度与数据搬运。这些是AI芯片(尤其是训练芯片)架构设计的核心难题。
第二条线:深度学习算法与计算模式。目标不是成为算法科学家,而是理解算法的计算特性和数据流。学习李宏毅的深度学习课程(中文,易懂)。关键要弄懂主流模型(CNN、Transformer)的算子组成、数据复用模式、计算访存比、以及稀疏性、动态性等带来的硬件设计挑战。推荐论文《Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks》,它能帮你建立算法映射到硬件空间架构的思维。
最后,将两条线融合。思考如何为特定的算法计算模式(如Attention的数据流)设计高效的体系结构支持(比如设计专用的片上存储层次和NoC拓扑)。你可以从分析现有商业架构(TPU, Habana Gaudi, NVIDIA Tensor Core)的设计报告开始。转型不是替换,而是扩展,把你的RTL实现能力升级为在系统层面进行权衡设计的能力。
