根据新时期国家、社会和未来发展的需要,国家提出要研发自主可控的核心技术,从计算机角度来说,就是要打造具有自主可控技术的CPU和基础生态环境。《计算机系统综合设计 》顺应这一战略发展需要,在计算机专业本科阶段进行一次综合性的设计实践。
本课程的内容分为两大部分,第一部分(第1章~第18章),完成31条指令的单周期MIPS处理器Minisys-1的设计与实现,该部分适合学完“数字逻辑电路”和“计算机组成原理”的本科生进行综合性的课程设计。该部分建议1~2人为一组完成课程设计。第二部分(19章及以后),重点是完成多周期CPU、以流水型57条指令的MIPS处理器为核心的片上系统Minisys-1A SoC的设计和实现,同时兼顾配套汇编器和轻量级编译器的设计。 该部分建议4~5人为一组完成课程设计。课程的总体目标是培养学生的系统认识能力、系统分析能力、系统设计能力和实现能力、加强学生实践技能的培养,创新能力和团队合作能力的提高。学生通过本课程的完整学习和实践,无论在理论上还是实践上,在硬件上还是软件上,在系统角度还是应用角度都会得到锻炼,同时也能初步领悟到建立软件基础生态环境的必要性。。
本课程是一个实践性很强的课程,在课程中除了讲解设计的理论基础和设计上应该注意的问题,留有很多的实验给大家。本课程的实验可分为设计实验和跟做实验。大家只有在学习课程内容、查找相关资料的基础上,认真完成这些设计实验,并认真跟着课程视频完成跟做实验,才能真正得到锻炼,完成课程的要求。
本课程会提供三个附加章节,共选择本课程作为网络课程的学校作为课程思政素材。
通过设计实验、跟做实验,完成单周期Minisys-1CPU的实现,有实验板的情况下要求能下载到指定的实验板上运行。没有实验板的,要能做到仿真正确。
通过线上讲解,指导学生完成流水型Minisys-1A SOC的设计和汇编器与编译器的设计。
课程过程中会有一些作业,希望大家能够认真完成,平时作业会作为考核成绩的一部分。
该课程的第一部分(第1章~第18章)先修课为《数字逻辑电路》(含Verilog HDL语言)、《计算机组成原理》,第二部分还需要的先修课是《微机系统与接口技术》、《嵌入式系统原理与应用》、《计算机系统结构》、《C++程序设计》、《编译原理》。
1. 杨全胜、钱瑛、任国林、王晓蔚、吴强. CPU设计实践教程——从数字电路到计算机组成. 北京:清华大学出版社,2020.10
2. 杨全胜、翟玉庆、王晓蔚、吴强、张志政. 计算机系统综合课程设计.北京:清华大学出版社,2008.2
3. 李亚民. 计算机原理与设计-Verilog HDL版. 北京:清华大学出版社,2011
4. Randal E.Bryant, David R.O’Hallaron,深入理解计算机系统(第3版),北京:机械工业出版社,2016
5. D. Sweetman, see MIPS run(MIPS体系结构透视,影印版,第二版),机械工业出版社,2007
6. David A.Patterson/John L.Hennessy, Computer Organization and Design_ The Hardware Software Interface(计算机组成与设计:硬件/软件接口,第5版 中文MIPS版本),机械工业出版社,2015
7. John L.Hennessy/David A.Patterson, 计算机系统结构-量化研究方法,(原书第4版)电子工业出版社,2007,(原书第5版),人民邮电出版社,2013
8. 任国林主编.计算机组成原理.第2版.北京:电子工业出版社,2018
9. 袁春风主编.计算机组成与系统结.第2版.北京:清华大学出版社,2015
10. 夏宇闻. Verilog数字系统设计教程. 北京:北京航空航天大学出版社,2004
11. Alfred V.Aho等,编译原理(紫龙书,原书第2版),机械工业出版社,2011
12. Steven S. Muchnick,高级编译器设计与实现(鲸书),机械工业出版社,2005
13. Andre W. Appel,现代编译原理C语言描述(虎书),人民邮电出版社
Q : 每周3-5小时的学时安排包括哪些方面?
A : 由于这是一门实践课程,因此每周3-5小时学时实际上包括看视频学习的时间和自己在线下做实验的时间。甚至某些周是完全留给学生线下做实验。如果用本课程做线上线下混合教学,则还包括线下的研讨和交流。