模型机演示系统辅助计算机组成原理教学的方法

2015-09-14 03:32罗新祥
中国现代教育装备 2015年1期
关键词:指令原理控制器

张 磊 刘 剑 罗新祥

北京科技大学计算机与通信工程学院 北京 100083

模型机演示系统辅助计算机组成原理教学的方法

张 磊 刘 剑 罗新祥

北京科技大学计算机与通信工程学院 北京 100083

根据多年来计算机组成原理课程的教学实验情况,提出了一种用模型机演示系统辅助计算机组成原理教学的方法。该方法是在EDA平台中用软件实现硬件实验箱模型机的功能,并将设计过程录制成视频,形成一套完整的演示系统。在理论教学中引入该演示系统,使教学内容与实验内容直接相关,有助于学生真正理解原理并对小学期自行设计模型机打好基础。该方法已应用到实际教学中,取得了良好的教学效果。

模型机;演示系统;辅助教学;计算机组成原理

计算机组成原理是计算机专业的一门核心课程,是大学生学习计算机硬件课程以及建立计算机系统整体认识的入门课程[1]。它涉及的知识面非常广,内容包括中央处理器、指令系统、存储系统、总线和输入输出系统等方面。学生在学习该课程时,普遍觉得概念抽象难于理解,缺乏对所学知识的直观型验证方法,知识要点艰涩难懂,而授课时间和实验时间都很有限,无法建立计算机单机系统的整体认识。尽管经过一系列的课程改革[2],教学效果已有所好转,但还是存在一些问题:(1)学生需要花很长时间和精力将理论课与实验内容进行关联。(2)在小学期课程设计中很多学生感觉难度太大而放弃自己动手,或者在现成的版本基础上做简单修改。

经过认真分析这些问题,可总结归纳为如下原因:(1)理论课内容与实验内容互相独立,学生如果想明确实验目的,则需要认识全新实验箱的结构和实现,这样所需要的时间是教学计划的实验学时远远不能满足的。(2)很多学生对于原理很明白,用Quartus II软件进行设计就很茫然,不知道这个做硬件设计的软件能提供哪些功能。一方面是因为对软件使用和硬件描述语言不够熟练;另一方面学生普遍对硬件设计有畏难情绪而更偏重纯软件设计。结合本校学生实际情况,同时为了加强理论与实验内容的联系,以西安唐都科教仪器公司推出的CM3+计算机组成原理教学实验系统为蓝本,将实验系统模型机的整个设计用Quartus II软件实现,并录制整个设计制作过程,作为模型机设计演示系统辅助计算机组成原理教学。一方面学生可以在理论课讲述过程中了解实验环境,并将理论课讲述的部分直接对应到模型机上,对实验内容有整体把握,一定程度上简化了实验环节。另一方面学生通过这套演示系统可以清楚地看到Quartus II软件在模型机设计过程发挥的作用,对于自己动手设计模型机起到很好的指示作用。

1 模型机系统设计

经过深入研究CM3+实验箱,该模型机为8位字长、单周期、支持15条机器指令的模型机。借助EDA工具软件Quartus II进行电路和代码设计。下面具体分析模型机系统设计过程。

1.1 模型机的指令系统设计

总共设计了15条基本指令,其中包括运算类指令、控制转移类指令、数据传送类指令。运算类指令包含3种运算,分别是算术运算、逻辑运算和移位运算,所有运算类指令都为单字节,寻址方式采用寄存器直接寻址。控制器转移类指令有3条,用以控制程序的分支和转移。数据传送类指令有6条指令,用以完成寄存器和寄存器、寄存器和I/O、寄存器和存储器之间的数据交换。15条基本指令的指令的格式、汇编符号、指令功能参见实验指导书[3]。

1.2 模型机的数据通路设计

根据该8位模型机要实现的指令,设计其数据通路(如图1所示)。

图1 数据通路框图

1.3 指令执行流程设计

将每条指令执行流程和相应的控制信号变化列出来,以ADD指令为例进行分析(如图2所示)。

图2 指令流程及控制信号分析图

1.4 控制器部件设计

模型机采用微程序控制器,需要设计微指令。在视频中介绍微指令的设计方法。模型机设计过程直接采用设计好的微程序。用EDA平台提供的宏功能模块库中LPM_ROM单元实现微程序控制存储器,建立一个后缀为.mif的文件存储微程序,借助该宏功能模块库可充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

2 演示系统设计

模型机系统设计完成后,在演示系统中需要将设计和实现过程讲清楚,采用微视频的方式,演示系统由5个20分钟左右的视频构成。重点讲述的内容包括模型机的设计思路,ALU模块设计,微程序控制器设计,指令译码电路设计、时序控制部分等。

2.1 ALU模块设计

ALU主要包括算数运算部件、逻辑运算部件、移位运算部件,运算功能由控制信号S3,S2,S1,S0决定,所以总共可以设置16种逻辑功能。运算器逻辑表参见实验指导书[3]。使用Verilog语言实现此逻辑运算功能。

2.2 微程序控制器模块设计

程序控制器采用微程序设计。基本任务是完成当前指令的译码和执行环节,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据的传送和各种处理操作[4]。每条微指令用24位微代码来表示,24位微代码信号的功能见实验指导书[3]。微程序控制器原理图如图3所示。

图3 微程序控制器原理图

2.3 指令寄存器IR及指令译码电路

指令寄存器主要锁存取得的指令,供控制电路解码分析执行。用Quartus II设计的原理图如图4所示,借助了EDA平台提供的LPM_LATCH。

图4 指令寄存器IR原理图

根据指令译码电路得到以入口微地址为输出的逻辑表达式,为什么进行这样的设计,如何设计均在演示系统中进行讲解。

2.4 演示系统的测试

模型机系统的顶层原理图如图5所示,首先进行每条指令功能测试,确保所有指令功能正确后,用指令设计累加和的程序即从IN单元读入一个数据,根据读入数据的低四位值X,求1+2+3+……+X的累加和,01H到0FH共15个数据存于60H到6EH单元。将程序存入该模型机主存执行,经仿真验证结果正确。

图5 模型机系统顶层原理图

3 辅助教学方法及效果

由于理论课是以X86处理器为模型机贯穿整个教学过程,讲解顺序[1]如图6所示。

图6 理论课讲解顺序

该演示系统与课堂教学进行配合,当讲完运算器部分,让学生结合视频,将演示模型机系统的加法部分用超前进位加法器代替,也可将算术运算扩展乘法运算,用阵列乘法器实现,这样学生就能对该设计实验有整体的认识,避免造成知其然而不知其所以然的情况。

讲完存储器部分,可以让学生结合视频,观察存储器周围的电路连接,为验证性实验做准备。也可让学生在CPU和存储器中间设计Cache控制器,提高性能。

讲完控制器部分,可让学生把微程序进行重新编码,或者扩展指令,充分理解微程序的概念;也可将微程序控制器改为硬布线控制器,在演示模型机上重新编译,但这个工作量是比较大的,因此仅供参考。

在理论课中穿插实验内容,使理论实验无缝结合,这套模型机系统和演示系统起到至关重要的作用。

4 结束语

通过建立模型机演示系统进行计算机组成原理辅助教学不仅有助于学生理解模型机,而且对学生亲自动手设计模型机很有帮助。学生不再觉得硬件设计高深莫测了,而是觉得只要一步一个脚印地认真做下去就能设计出属于自己的一台模型机。该演示系统已在2012级计算机专业和信息安全专业学生中开始使用,在评教环节,该演示系统获得了学生的一致好评,认为“很有帮助”“解决了我学习过程中的疑惑”“是很好很强大的学习资料”。相信只要站在学生角度去看问题,想学生之所想,解学生之所惑,就会不断地提升教学质量。

[1] 张磊,郑榕,田军峰.计算机组成原理理论实验教学无缝结合的新方法[J].实验室研究与探索,2013,32(5):168-173.

[2] 张磊,郑榕,田军峰.《计算机组成原理》实验教学改革[J].实验科学与技术,2013,11(2):107-110.

[3] 李涛.计算机组成原理实验教程[M].北京:中国电力出版社,2009.

[4] 丁红胜.CPU与简单模型机设计实验中的关键问题分析[J].计算机教育,2013(15):13-17.

A method of Facilitating Computer Organization Teaching by Using a Demo System of Design and Achievement of Model Machine

Zhang Lei, Liu Jian, Luo Xinxiang
University of Science and Technology Beijing, Beijing, 100083, China

According to the teaching practice of the course of computer organization for many years, it is presented a method offacilitating teaching with a demo system of design and achievement of model machine. This auxiliary method is that carrying out the function of the experimental box based on the EDA platform firstly, and then recording the video of the whole procedure, making a completed demo system at last. Bringing it into teaching will connect the contents of theories and experiments better, as is helpful to students’ understanding actual principles and designing model machine by themselves. This method has been used for practical teaching and obtained good results.

model machine; demo system; auxiliary teaching; computer organization

2014-06-09

张磊,硕士,工程师。

猜你喜欢
指令原理控制器
工商业IC卡控制器改造为物联网控制器实践
基于包络解调原理的低转速滚动轴承故障诊断
了解咳嗽祛痰原理,有效维护健康
《单一形状固定循环指令G90车外圆仿真》教案设计
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法
MAC指令推动制冷剂行业发展
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
倍福 CX8091嵌入式控制器