唐都仪器

计算机系统结构实验教学研讨

 

一、计算机系统在计算机硬件教学课程体系中的位置、特点和重要性

1计算机系统在计算机硬件教学课程体系中的位置及特点

在计算机硬件教学课程体系中,计算机组成原是基础课,它主要以顺序执行为主要特征,从部件到整机来讲清楚冯·诺依曼结构计算机的基本组成。该阶段的教学,并不追求机器的先进性,而更多关心的是计算机构成的一些基本概念,比如,指令系统设计、指令系统的微程序和组合逻辑的实现、CPU的扩展总线及总线接口逻辑的设计、主存储器I/O接口设备的扩展等。计算机系统则是一门专业基础课,它把当前主流的、先进的计算机设计和实现过程中的一些较为典型的思想和方法提取出来作为教学内容在大学中讲授,就目前的技术发展来讲,主要是围绕RISC指令系统的设计、并行计算机结构的设计和实现这二部分来展开的也有学校把该课程命名并行计算机系统结。归结起来计算机系统是以机器并行执行为主要特征,来讲授计算机系统的设计和实现的,它特别追求机器设计的性价比就其教学内容而言,主要应该CISCRISC指令系统设计、先进存储器I/O接口设备管理、以时间并行性为特征的计算机结构设计、以指令并行性为特征的计算机结构设计SIMD单指令多数据流计算机系统设计、多处理机系统设计等。

2计算机系统课程教学的现实意义

过去,由计算机专业的学生设计具有实用价值的计算机系统是不可想象的。但随着半导体技术的发展,大规模集成电路设计和实现已成为每个人都能够掌握的基本技术。因此,设计实际的计算机系统就成为了计算机专业学生必须要具备的关键能力。而计算机系统这门课程的特点来看,它可以为学生将来从事先进计算机系统设计打下良好的基础,应该是作为培养这一能力的关键基础课程,其重要性日益凸显。

从目前技术的发展来讲,一般的计算机专业人员就可以基PC微机来设计具有自己版权的嵌入式芯片,这个现在已经是很平常的事情了。现在芯片的价格很便宜,容量很大,还有大量IPPC版本的设计开发工具也很容易;已经非常成熟的一些设计开发技术也已经在大学的课程里开始得到反映,所以现在的大学生已经可以介入这方面的设计工作了,但要想介入这方面的工作,必须要有一个前提,即要具备关于现代主流的一些先进计算机结构的基础知识,所以计算机系统结构课程目前已具有了实际应用价值,在计算机专业课程中占据到了一个非常重要的位置。

计算机系统实验教学的作用、内容和方法

计算机系统这门课程由于主要是以现代并行计算机结构的设计和实现所涉及到的一些思想和方法作为主要教学内容的所以远计算机组成原要难教难学的多。特别是教学过程中的技术性更强,若不配以好的实验课程的支持,该课程就根本无法正常开展。

   如何才能把计算机系统结构课程变为好教好学的课程呢?显然,对于这种技术性很强的课程,必需提供好的实验教学体系的支持。首先实验的体系要跟教学的体系相衔接,现在主流的计算机系统大多采RISC指令系统的设计,实现的方法也主要是以标量机、多处理机作为主要特征,实验能否在这方面提供非常好的支持呢?比如说,在指令系统设计方面,能否提供相应RISC指令系统的设计内容;在标量机方面,能否提供非常好的标量机原型来作为实验的教学内容呢?基于这样的考虑,我们提出了如下的一套计算机体系结构实验教学内容

1以标量机为目标,以流水技术为中心,从部件到整机循序渐进地来开展计算机系统结构的实验教学。

2计算机的指令系统设计方面,通过基CISCRISC指令系统的模型机设计实验,详细讲述CISCRISC的特点和设计方法;计算机的存储系统方面,通过实验讲述了目前主流计算机存储系统及设计实现方法;在并行计算机结构设计方面,详细讲述了主流的、以时间并行性为特征的计算机系统的设计方法,着重体现重叠、流水等技术及设计方案;最后给出了一个具有两条流水线的超标量模型机设计示例,从指令并行性的角度讨论了计算机系统的设计方法。

计算机系统的实验设备要求

一些主流的机器的实现方法,特别在强调并行性的情况下,电路更为复杂。比如说流水技术,需要有一个丰富的时空想象力,它把原来一个顺序执行的任务变成了多个独立并行工作部件的并行执行任务,因而它的时空特性就完全发生了变化,对教学来说,就非常的复杂和抽象。如何使这些概念让学生能够真正的掌握,确实需要有非常直观、非常好的分析和调试平台的支持,没有这方面的支持,教学工作就很难开展

我们原来一个机器周期完成一条指令,现在一个节拍就完成一大堆事情,那么就需要更为细致的调试手段,所以对实验的设备本身来讲,就提出了更高的要求,应该说比组成原理这样的课更难教难学,对原来的调试手段,又要发生很多的变化。在这样的情况下,应该配以非常好的辅助教学的手段,实验在这里要起到非常重要的作用。那么反过来讲,实验如果不能对教学起到作用,教学就不可能有好的收效,若不能有好的收效,这个课就是形同虚设,没有意义。

从实验的内容方面来讲,如何去配合教学,从硬件平台来讲,应具有从部件到整机都能够支持并行执行的能力。系统结构这门课以研究并行性为主要特点,所以从部件到整机都必须提供这方面的支持。比如说,在运算器和寄存器堆电路单元,我们提供了多端口、多总线的部件。因为具有了多端口的部件,我们设计的规模就会更大,而且提供的设计空间规模比以前更大了,采用了FPGA器件来进行开发,实验平台应当为这种并行的机制提供全方位的支持。

从结构上来讲,应该给学生一个足够的软硬件设计的空间,例如运算器和寄存器堆,具有常用的六种组合,可以从单总线到三总线、四总线,都可以组合起来,而且组合的能力非常强,使CPU内总线结构的设计非常开放,不管你怎么连接电路,系统都可以监测到,从这个意义上来讲,又为调试、辅助教学提供了非常好的铺垫。

过去大家都说,设计好办,但是调试难。调试难,难在哪里呢?难在我们看不到我们需要观测的东西。IC设计的人都知道,辅助测试是最难的。因为我设计好了,是不是稳定呢?是不是能工作呢?我不知道,我什么都观察不到,系统一跑,什么也不知道,那是不行的。如果能够以节拍、单机器周期为单位,捕捉到现在系统运行的信号变化,这就是最重要的测试手段。我们提供的测试属于系统自行运行,能够不影响、不干扰你的设计,又能够捕捉到系统运行信息这些东西,这是非常好的设计

不能因为要实现测试,就要让学生在自己的设计中放进去一大堆测试电路,甚至设计中你自己都不知道你在设计些什么东西,你不能让我去设计一大堆辅助的东西,我要设计的机器就是我自己想要实现的纯粹机器,不能包含其它什么东西,这样才能提高设计、调试的效率。平台上能否把需要的测试点都能看到呢?需要平台对这方面提供强有力的支持。

对于调试,应该要采用数据通路图实时调试方式,因为图形的视觉信息量是最大的。实验中要你设计一个计算机,就是在训练学生熟练这个计算机设计的一套流程。你首先要设计一套指令系统,有了这套指令系统以后,你紧接着必须为实现这样的指令系统设计一个数据的通路图,我们就把设计的这个数据通路图,拿出来作为整个系统调试的一个图形界面,这是非常有价值的。设计首先是指令系统设计,然后是通路图设计,然后是控制器设计。通路图里面既有部件的之间的关联通路,又有控制器涉及到的控制信号,如果以整机的数据通路图作为调试界面来讲,就把所有的情况都看到了。所以,这种基于通路图的实时动态图形调试就是我们倡导的一种计算机系统结构实验设计、调试的方法,另外,具有很好的辅助教学效果。

 

 

2022年4月26日 13:32
收藏