如果你对计算机体系结构充满热情,并立志未来在此领域深造或从事研究工作,以下建议希望能助你打好坚实基础:
尽早融入研究环境 (大二上学期起):
积极联系你感兴趣的、从事体系结构研究的课题组/教授,争取大二下学期进入实验室(附上我的邮箱:songzhuoran@sjtu.edu.cn😉),从而提前感受研究氛围,了解前沿方向,熟悉研究工具和流程。
夯实核心基础 (大二期间):
在进入实验室前后,务必系统性地、深入地学习以下核心知识:计算机体系结构基本原理与设计思想、并行编程模型与实践(如 OpenMP, CUDA, MPI 等)。这些是理解、分析和设计现代处理器的基石,也是后续开展研究不可或缺的理论武器。
追求研究实践与初步成果 (大三期间):
在课题组博士生或导师的指导下,积极参与一个具体研究项目,并努力争取在大三期间合作发表一篇学术论文。将理论知识应用于实际问题、学习完整科研流程(问题定义、方案设计、实验评估、论文撰写)的宝贵机会,也是申请深造的重要履历。
保持务实与持续学习的心态 (贯穿本科):
建议大家保持清晰的认知,计算机体系结构门槛较高,涉及软硬件协同、性能分析、复杂建模等多方面,因此本科阶段的核心目标是打基础、学方法、练能力,而非追求独立发表顶尖论文。
在具体行动方面,建议大家:
按时参加组会,积极参与论文研读和讨论;每周主动向指导你的博士生或导师汇报学习/研究进展,积极寻求反馈和建议;请主要注重培养扎实的动手实践能力和工程实现能力,这是体系结构研究的根本。
在动手实践能力方面,建议大家选择以下1-2项深入钻研:
实践项目A:从零开始动手设计并实现一个端到端的CNN硬件加速器(如基于FPGA),理解数据流、计算单元设计、访存优化等关键环节。
实践项目B:搭建一个周期精确(Cycle-Accurate)的处理器模拟器(如针对RISC-V),深入理解流水线、缓存、分支预测等微架构机制及其性能影响。
实践项目C:深入阅读并理解主流体系结构仿真框架(如gem5)的源码和工作原理,学习如何修改和扩展其模型(如添加新的缓存替换策略、分支预测器或自定义加速器模型)。