“计算机组成原理”实验课程微探

2020-03-27 11:36唐彩燕
现代盐化工 2020年1期
关键词:计算机组成原理实验课程计算机

唐彩燕

摘   要:在信息化时代,计算机已经被广泛应用于各个领域,促进了社会经济的发展。目前,我国高校纷纷开设了计算机硬件类实践课程,效果却不容乐观。以某高校“计算机组成原理”实验课程为例,对“计算机组成原理”实验进行微探,重点阐述单周期和多周期CPU的构成和设计,希望对促进我国计算机行业的发展有所帮助。

关键词:计算机;组成原理实验;实验课程

在计算机网络高速发展的趋势下,国内外高校十分重视计算机课程的开设,希望通过开设相关的课程,培养出优秀的计算机专业人才,以满足当前社会的需要。为此,某高校计算机系以“计算机组成原理”实验作为着手点,对课程进行了设计和安排,本研究对“计算机组成原理”实验进行了详细的分析。

1    “计算机组成原理”实验课程设计的初衷

“计算机组成原理”在计算机专业中具有举足轻重的地位,是该专业的核心课程之一,学生对其掌握程度关系到后续学习的效果,不仅会影响硬件学习的质量,对软件工作者也有较大的优势。

近些年,国内某著名高校积极响应国家号召,以培养优秀计算机人才为己任,通过出国考察的方式,对国际知名高校的计算机专业课程内容和设置进行了学习,“计算机组成原理”实验是重点借鉴内容。学习者通过学习之后,其程序编写和调试能力大大提升。与硬件设计人员角度相符的硬件实验课程,要求学习者能够使用硬件对语言进行描述,并以现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)为基础,完成一个处理器系统的设计。

目前,国内“计算机组成原理”实验的主要教学方式为教师带领学生进行设计实验,主要表现为基于固定实验箱,在其中进行连线拔插和开关启动等操作,以实现固定软件系统之间的联系,从而提升学习者对“计算机组成原理”的理解和掌握[1]。这种较为简单的“计算机组成原理”实验形式起到的效果较为有限,学习者在实验过后,对于“计算机组成原理”的理解较为浅薄,无法确定计算机组成结构与系统软件间的关系,更不用说利用现代化工具设计计算机硬件了。鉴于此,国内某著名高校以培养优秀计算机人才为己任,通过出国考察的方式,对国际知名高校的计算机专业课程内容和设置进行了借鉴,并在此基础上对教学方法和实验内容进行了调整,截止到目前,已经取得了良好的教学效果。学习者在学习之后,其程序编写和调试能力显著提高,还有一部分学习者已经能够自主设计计算机硬件,且运行效果较为显著。

2    “计算机组成原理”实验课程的知识准备

利用电子设计自动化(Electronics Design Automation,EDA)技术在可编程门列阵上设计处理器,对于学生的计算机知识能力提出了十分严格的要求,具体表现在以下几个方面:(1)学习者应该熟练掌握在可编程门列阵上应用EDA技术的能力,能够利用所学知识进行逻辑单元电路和数字系统的设计。(2)学习者还要加强对“计算机组成原理”实验的了解,CPU通路、指令系统等内容都是“计算机组成原理”实验的基础知识,学习者应该将其作为基础,以CPU内部单元电路设计为开端,在单字长定点指令平均执行速度 (Million Instructions Per Second,MIPS)体系结构的基础上,完成多通道CPU的设计。

3    “计算机组成原理”实验内容

“计算机组成原理”实验内容主要由3个部分构成,分别为部件实验、简单CPU实验和大型作业。

3.1  部件实验

在设计CPU硬件电路时,包含大量单元电路,如触发器、选择器和译码器等,都是计算机专业的基础知识,在本次“计算机组成原理”实验中,主要设计内容为设计CPU内部的其他重要部件,如寄存器、算术逻辑单元(Arithmetic and Logic Unit,ALU)和存储器等。

3.1.1  设计寄存器组

在CPU内部,寄存器是非常重要的部分,作用为暂时性的数据存储,具有速度快和使用频繁的特点。基于MIPS体系结构的寄存器组,其组成部分包括32个32位的寄存器,简言之,就是32个寄存器构成了一个寄存器组。仅将其外观作为观察依据可以看出,组成寄存器组的32个寄存器,其外观并未有差异,在对其进行访问时,无需关注外部条件。为了对CPU的结构进行简化,一般情况下,只会将编号为0的寄存器的值设为0,故寄存器只能被读出,而不能写入。

一条指令同时操作的寄存器不超过3个,且所操作的寄存器分别为目的寄存器和源寄存器,这里所说的指令主要是指MIPS指令集合中的指令。在执行指令时,读出源寄存器中的内容,计算后在源寄存器中写入目的地址,方可完成指令。可以看出,基于MIPS体系结构的CPU寄存器组应该具备一个输入端口和2个输出端口。一般情况下,4个组件即可组成一个32位的寄存器,而寄存器组能够只对32个寄存器中某一个寄存器的某一字节进行写入,故寄存器除了要满足端口需求,还要具备写入控制端的功能,其目的在于对4個字节的吸入操作进行控制[2]。

3.1.2  存储器设计及测试

在计算机系统之中,存储器的作用十分重要,对指令和数据进行存储是其主要功能。在设计存储器时,可以针对存储器类型的不同,采取分开设计的方法,同时,也可以设计一个兼具指令存储和数据存储功能于一体的存储器。存储器应该具备两个端口,分别为读端口和写端口,亦可不用时钟触发。在进行储存器写入时,时钟触发是将数据写入存储器的前提条件,时钟的任何动作皆可对存储器的写操作进行触发。

存储器设计实验有助于让学习者了解和掌握存储器接口和信号控制功能,并具备运用存储器功能的技能。此外,还要独立进行存储器的设计,这是存储器设计实验的根本性目的,对于完整的CPU设计来说至关重要,尤其是单周期CPU。所谓的单周期CPU是指执行一个完整指令周期不超过一个时钟,如果超过一个时钟,则被称为多周期CPU。在执行指令的过程中,CPU对存储器访问的,次数通常会多于两次,这两次的作用分别为读取指令和存储数据。在设计存储器时,如果出现错误,那么CPU在实际运行过程中,指令执行效果会大打折扣。通过查阅资料得知,多周期CPU在执行指令时所花费的时钟周期较多,此时,应用读写方便的存储器结构即可。

3.1.3  桶形位移器

在MIPS指令集合中,存在一些位移的指令,对寄存器数据提出了移动性的要求,只有寄存器中的数据能够一次移动数位方能满足要求。故应用寄存器执行移动指令需要花费大量的时间,工作效率也会随之受到影响,与当前CPU工作要求严重不符。为此,技术人员设计了一种桶形位移器,其位数可以自由设置,其设置范围是0~31,移动方式包括多种,分别为算数右移、循环右移、逻辑左移和逻辑右移,故桶形位移器的输入端也相对较多,主要包括5位移位输入端和2位移位方式控制端。

3.1.4  ALU设计

ALU是CPU的重要组成部分,属于一种运算电路,是逻辑运算和算数运算实现的重要条件,但是MIPS对ALU提出了更高的要求,ALU需要完成一些特殊的质量,如SEB、LUI、SEH、CLO和CLZ等,在详细分析MIPS指令系统后得知,ALU需要执行的运算多达15种。此外,为了对编码功能进行简化,在设计ALU电路时,输出端会对ALU电路没有保留的信号进行保留,如进位信号、溢出信号之和与信号相比是否较小等[3]。

3.2  设计简单CPU的实验

3.2.1  单周期CPU设计

单周期CPU指的是在一个时钟周期内完成所有指令的CPU结构,单周期CPU具有简单的硬件结构和指令执行过程。学习者应该在学习过程中对这些内容加以了解,对于多周期CPU的理解具有十分重要的意义,故初学者应该将单周期CPU作为入手点。

实验要求学习者设计一个单周期的CPU,并确保其所设计的CPU能够执行相应的指令,指令较为简单,主要为I型指令、R型指令和J型指令。为了进一步降低CPU设计的难度,本次实验不要求CPU执行移动质量和存储的指令。CPU的设计内容由两部分组成,分别为控制逻辑和数据通路设计。

3.2.2  多周期CPU设计

多周期CPU与单周期CPU设计相比,难度相对偏高,具体表现在以下两方面:(1)需要满足执行时间最长的指令周期长度。就事实情况而言,单周期CPU所执行的指令,其周期都相对较短,运行效率偏低。(2)多周期CPU可以将一个指令分为多个时间相同的执行阶段,不同的阶段执行的操作也较为特殊,如果指令执行时间较长,那么执行周期也随之增加,如果执行时间较短,使用少量的执行周期即可,使得指令执行效率大大提升。

多周期CPU需要在具备单周期CPU能力的同时,还要具备逻辑位移和存储器访问指令的执行能力。正因如此,多周期CPU与单周期CPU相比,多了两个装置,分别为数据存储器和桶形移位器。与此同时,多周期CPU执行一个指令所需要的周期为多个时钟,而ALU只有在指令运算期间才会被使用。在其余时间,ALU都会处于闲置状态。为了实现对硬件结构的进一步简化,在ALU处于闲置状态时,将其用于下一条指令地址的计算十分重要,减少了对加法器的使用。

3.3  大型作业

在讲述“计算机组成原理”实验课程内容后,学习者具备了一定的CPU设计能力。在学习后期,教师可以让学生以团队合作的方式,完成单周期CPU和多周期CPU的设计,同时也可以鼓励学习者设计自己的指令系统,并设计出执行这些指令的CPU。

4    教学效果

该学校在借鉴国际知名高校的“计算机组成原理”实验教学后,学习者对于计算机硬件结构的了解已经趋于完善,其硬件设计能力和水平也大大提升,甚至部分设计已经突破了教学内容,学习者通过查阅资料和自主学习等方式,使自身的计算机基础更加扎实。甚至部分学生设计了ARM11结构的处理器,并在其中增加了各类接口,连接显示器和键盘后,就构成了一个完整的计算机,然后利用所学知识编写游戏软件,完成了自己的梦想[4]。

5    结语

以某高校“計算机组成原理”实验课程教学为例,详细阐述了“计算机组成原理”的实验目的、实验内容和实验结果,重点分析了CPU的各个组成部分及其所具备的功能,以加深学习者对CPU的了解,从而使“计算机组成原理”实验效果更好。

[参考文献]

[1]宋会英,祁  鑫,崔  浩.计算机组成原理混合式金课的探索与实践[J].中国石油大学胜利学院学报,2019,33(2):61-64.

[2]许海杰,刘  升.计算机组成原理实验平台改进研究[J].通化师范学院学报,2019,40(4):82-86.

[3]张铭泉,程晓荣.以能力培养为目标的计算机组成原理教学研究[J].教育教学论坛,2019(11):221-222.

[4]吴继明,钟群锋,曾碧卿.虚拟仿真技术在计算机组成原理实验教学中的应用[J].计算机教育,2019(3):34-38.

猜你喜欢
计算机组成原理实验课程计算机
中国计算机报202007、08合刊
中国计算机报2019年48、49期合刊
中国古代的“计算机”
浅析高中化学实验课程教学方法改革
《计算机组成原理》综合教学辅助平台的设计与实现
以会计学为例建设财经类实验课程体系
电视新闻摄像实验课程的基本教学方案
面向计算机系统能力培养的计算机组成原理实验教学
用“工程思维”引领《计算机组成原理》课程教学
《计算机组成原理》课程建设的改革与探索