彭蔓蔓,吴 强,李建江
(1.湖南大学 信息科学与工程学院,湖南 长沙 410082;2. 北京科技大学 计算机与通信工程学院,北京 100083)
ACM/IEEE在2016年公布的计算机工程课程体系指南(CE2016)和2013年公布的计算机科学课程体系指南(CS2013)都把计算机体系结构和组成(architecture and organization)列为核心知识模块之一[1-2]。各个大学为计算机及相关专业开设了计算机组成或类似课程,并安排了对应的课程实验[3-4]。
计算机组成课程实验通常以硬件设计为主要内容,其中CPU设计一般作为核心,辅之以运算器、存储器、I/O接口等硬件模块的设计,目的在于使学生理解和掌握如何运用前期数字逻辑或类似课程所学的逻辑电路设计知识完成计算机系统主要硬件部件的设计[5]。
由于硬件设计较为繁杂,在实际教学中,学生往往会因为对硬件工作流程理解不够,在设计初期不知如何开始而产生畏难情绪。为便于学生理解硬件工作原理,不少学校采用软件模拟器或仿真程序的方式为学生展示硬件工作过程,使学生易于理解有关知识,完成硬件电路的设计[6-7]。
随着现场可编程门阵列(FPGA)的发展和应用,计算机组成课程实验的硬件设计越来越多地转移到基于FPGA的实验平台上[8-10]。采用基于FPGA的实验平台进行计算机组成课程实验常常遇到的问题是学生缺乏对FPGA设计流程和相应软件工具的了解,在设计中容易因为一些简单问题,如软件设置、器件选择、流程状态等,不知如何解决而使设计过程陷入停顿,需要教师在实验内容和教学方法上进行改进,以适应新的实验平台。……