1.提出“以培养现代计算机系统设计能力为核心”的全新教学理念

  本课程内容处于计算机系统中软硬件交界面,不仅涉及计算机硬件设计和指令系统设计,还涉及到操作系统、编译程序和程序设计等软件设计技术。基于这种特点,我们提出了“以培养现代计算机系统设计能力为核心”的教学理念,采用“从程序设计视角出发、强调软硬件关联与协同、以CPU设计为核心、以提高系统性能为目标”的教学思路,一改国内该课程教学中通常的就硬件讲硬件、软硬件分离的传统教学方式,从硬件设计与软件设计密切相关的角度,以系统的观念全面地讲解相关的知识和技术,让学生在完成本课程基本知识体系学习的同时,重点培养学生掌握现代计算机系统的设计能力。

2.围绕新的教学理念开展教学内容改革和教材建设

  根据新的教学理念和思路,全面系统地进行了教学设计:

  (1) 以“高级语言程序→汇编语言程序→机器指令序列→CPU设计”为主线组织教学内容,使学生深刻理解一个程序从编程设计、转换翻译、到最终在CPU上运行的整个过程,从而全面地建立计算机系统的整体概念;

  (2) CPU设计部分在国内该课程传统内容基础上大幅增加了指令流水线设计等现代计算机所用的先进技术。依照“最简单的IAS计算机CPU→总线式CPU→单周期CPU→多周期CPU→基本流水线CPU→动态超标量超流水线CPU”的次序,以“MIPS处理器”和“Pentium 4 处理器”为蓝本,循序渐进地让学生了解CPU设计技术的发展过程,以及CISC和RISC处理器的不同特点;

  (3) 在介绍软硬件系统之间协同工作的原理时,采用“将异常和中断、存储器访问和I/O访问等纳入到指令执行过程中”的教学思路,清晰说明CPU执行指令过程中硬件与操作系统相互切换和协同工作的处理过程,使学生深刻理解软硬件系统之间的关系以及计算机系统内部软硬件协同工作的过程;

  (4) 在涉及到与程序设计有关的内容(如数据表示、信息存放方式、指令寻址方式、Cache中程序访问局部性等)时,清楚说明硬件设计和程序设计的关系,使学生建立 “从程序员视角理解计算机硬件系统设计,从硬件设计的视角理解程序执行”的软硬件密切相关的设计思想,在提高学生硬件设计能力的同时,也增强学生进行高效的和系统化的程序设计的能力;

  (5) 结合指令流水线说明编译优化技术,“编译技术”课程中通常不涉及基于流水线的编译优化技术,本课程详细讲解了指令在流水线中遇到的各种冒险或冲突,进而阐述如何在编译过程中使用各种优化技术来避免或减少流水线冒险或冲突。