计算机组成与系统结构设计论文

2017-03-03

计算机组成原理与系统结构 是计算机科学与技术专业一门重要的专业基础课,是一门技术性、工程性和实践性很强的课程。下面是小编为大家整理的计算机组成与系统结构设计论文,供大家参考。

计算机组成与系统结构设计论文篇一

基于VRML的计算机组成原理虚拟实验系统设计

计算机组成与系统结构设计论文摘要

摘要:由于时间和空间的限制,传统实验往往不能满足全部学生的需求,为此,设计出了一套基于VRML技术的计算机组成原理虚拟实验系统,学生只要通过网络就可以随时随地做实验,有效弥补了传统实验的不足。

计算机组成与系统结构设计论文内容

关键词:VRML技术; 虚拟实验;计算机组成原理

中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2014)06-1220-03

The Design of Virtual Experiment System of Computer Organization and Architecture Based on VRML

HU Li-fang1, HU Zi-kai2

(1.Jiaozuo Teachers College of Computer and Information Engineering College, Jiaozuo 454000,China; 2 Puyang City Zi Elementary, Puyang 457000,China)

Abstract: Due to the limitation of time and space, the traditional experiment can’t meet all the needs of the students, therefore, designed a set of virtual experiment system of computer organization and architecture based on VRML technology, students can do the experiment anywhere, effectively overcomes the shortcoming of the traditional experiment.

Key words: VRML technology; virtual experiment; computer organization and architecture experiments

在高职院校中,实验教学占有非常重要的地位,是提高学生创新素质、动手能力的一个重要手段。目前,由于各种原因,许多学校的实验设备和手段还不能完全满足要求。与此同时,近年来计算机网络技术、多媒体技术及虚拟现实技术的迅速发展,为虚拟实验系统的构建提供了有效的支撑。

《计算机组成原理》是计算机专业重要的基础课程之一,做实验又是该课程的一个重要部分,学生通过实验可以深入了解计算机是如何进行算术计算、怎样存储信息并且能更好的掌握计算机的硬件组成[1]。目前,国内部分院校已开发出了计算机组成原理课程的网络课程,但这些网络课程大多数为静态的网页展示或动画演示,并未开发出具有3D虚拟场景,交互性较好的计算机组成原理虚拟实验系统[2]。因此,具有三维交互性的计算机组成原理虚拟实验系统的设计就显得非常重要。

1 虚拟实验系统的分析与设计

VRML(Virtual Reality Modeling Language,虚拟现实建模语言)是一种三维场景描述性语言,利用它能在网页上创建具有导航及超链接功能的三维虚拟空间。VRML的工作原理可以简单描述成:文本描述、远程传输及本地计算生成。VRML并不是使用三维坐标点描述物体的,而是使用了一种类似于HTML的标记文本语言来描述三维场景,因此使用它编写的文件所占的空间非常小,对网络带宽的要求不高[3]。利用VRML技术构建虚拟实验系统,能为学生提供一个逼真的实验环境,具有超强的现实感,可充分激发学生的学习兴趣。

该系统主要模拟仿真清华大学科教仪器厂生产的TEC—4计算机组成原理实验仪。使用VRML技术构建三维虚拟实验环境,并通过ASP技术及B/S(Browser/Server 浏览器/服务器)三层结构的设置,构建网页结构,发布到网络上供学生使用。系统体系结构如图1所示。

图1 系统体系结构

2 虚拟实验系统的实现

2.1实验环境的构建

实验环境的构建主要包括两个方面:

1)静态环境:主要指实验室场景的构建。首先使用Vrmlpad建模工具对一些简单的形体(如实验台、地板、墙壁等)进行建模,再利用专业三维建模软件3DSMax对导线、芯片、面包板等一些结构复杂的实验器材进行建模。由于3DSMax对物体描述的精度比较高,因此使用它建造的一些形体转到Vrmlpad后生成的文件中会存在大量多余代码,所以必须进行优化处理[4]。建模过程如图2所示:

图2 建模过程

2)动态环境:主要是指器材的功能显示。即模仿真实实验的操作效果,例如用鼠标单击开关按钮后产生的按下和弹起的动态过程、点击导线之后出现的自动连线效果等。

2.2 交互控制的设计

该部分的设计是实现系统功能的关键。本虚拟实验系统不仅根据实验要求提供了面包板、连线等实验器材,并且还提供了一个操作标记,指导实验者完成操作。学生通过鼠标将指令直接传送给虚拟空间,空间接到用户请求,将消息传递给相应的脚本程序,脚本程序经过一系列的计算,然后以相应的虚拟现实效果反馈给学生。

该部分功能的实现主要依靠各种接触传感器节点(TouchSensor)、VRMLScript编写的脚本程序以及ROUTE语句[3]。首先在系统中定义一系列的TouchSensor分布在每个需要进行交互操作的虚拟物体上,当实验进行到一定步骤时,将下步的传感器激活,同时把其他步骤上需要的传感器全置为无效,这样即可实现让实验者根据实验内容的要求按步进行操作。在这个过程中,使用设置好的Script(脚本)节点来控制这些触发事件的实现,这些脚本可以将用户的操作进行转化,控制相应的对象,进而实现虚拟交互功能。交互式虚拟实验事件驱动体系的流程图如图3所示[5] 图3 事件交互体系流程

下面以实现连线为例:

实验者按照实验要求,点击相应的面包板上的插座,这时系统将会出现自动连线。为了模拟这个过程,建模时事先使用Extrusion节点在相应位置建成实验所需的全部连线,但是开始时用Switch节点将它们隐藏起来。随着实验过程的进展,当学生用鼠标单击指定位置时,在脚本程序的控制下,相应位置就会显示连线。图4为连线完成后的效果:

图4 连线完成效果图

以下是实现该功能的部分程序代码:

1)初始建模时隐藏导线的设置(以第一根导线为例)

DEF line_M2_VCC1_switch Switch {

#定义了插座M2和VCC1之间的连线

whichChoice -1 #表示初始时处于隐藏状态

choice [

DEF line_M2_VCC1 Transform {

children[

Transform {

…… #省略了导线线身和插头的定义

2) 控制导线显示的脚本程序

DEF change_line0 Script {

eventIn SFBool input

eventOut SFInt32 output

url "javascript:

function input (value,time)

{

if (value==1)

output=0;

}"}

……

3) 路由表设置如下

ROUTE touch_vcc1.isActive TO change_line0.input

ROUTE change_line0.output TO line_M2_VCC1_switch.set_whichChoice

上述代码表示当插座VCC1上的触发器被激活时,将发送一个消息给控制导线显示脚本,脚本接到消息并经过处理后,再发送命令给Switch节点,这样就可以达到显示导线的目的了。

3 实验系统网上发布

结合其它网络技术,对构建完成的三维虚拟实验室场景进行整合[6],如图5所示。之后把该虚拟实验系统传送到Web服务器上,学生只需要登录就可以随时随地进行远程实验。

图5 实验场景

4 结束语

该实验系统的设计突破了传统实验方式的时空限制,使实验教学在时间和空间上得到有效的延伸。虚拟实验作为传统实验的一个有益的补充,既能节约大量的实验设备经费,也有助于提高实验教学的效果。

计算机组成与系统结构设计论文文献

[1] 王爱英.计算机组成与结构[M].3版.北京:清华大学出版社,2000.

[2] 黄幕雄.高校教学型虚拟实验室建设的现状与建议[J].电化教育研究,2005(09):77-80.

[3] 胡小强.虚拟现实技术[M].北京:北京邮电大学出版社,2005:192-288.

[4] 张云苑.虚拟现实技术中3DS MAX建模的应用[J].电脑知识与技术,2006:189-190.

[5] 李斯萌,杨雪.虚拟实验系统的自适应调节机制研究[J].吉林大学学报:信息科学版,2012,30(4):403-408.

[6] 宋淑彩,周丽莉,赵巍.基于网络的计算机组成原理虚拟实验的设计与开发[J].微计算机信息,2006,22(5-3):286-288.

计算机组成与系统结构设计论文篇二

用于计算机组成与结构课程教学的模拟器

计算机组成与系统结构设计论文摘要

摘要:介绍基于开源软件包MML的计算机模拟器ARCH。ARCH实现了硬件结构的逻辑门级映射,易修改和动态运行,并具有丰富的寻址方式和指令类型,克服了软件实验平台抽象粒度过大和硬件实验平台交互性不强的问题。

计算机组成与系统结构设计论文内容

关键词:模拟器;计算机组成与结构;MML;ARCH

计算机组成与结构是计算机科学与技术专业本科生的核心专业基础课程之一。它与汇编语言、微机原理、接口技术等课程一起构成了硬件系列课程。通过本课程的学习,学生可以掌握计算机系统各个组成部分的工作原理、组成方法和相互关系,了解计算机指令系统和中央处理器的组织、数据传递路径和指令控制流程、存储管理、微程序设计、中断系统和输入/输出系统.等,具有计算机系统层次结构的初步概念。

“实践出真知”这句话告诉我们:最理想的学习方式是把所学习的理论知识付诸实践。在计算机组成与结构课程教学过程中,如何把学习到的理论知识付诸实践,以及如何利用实践验证和深化所学到的理论知识,这两个转化过程是学生学习的关键。针对这个问题,许多高校已经开始研发各种基于软件和硬件的计算机组成与结构课程实验平台来辅助课程教学。这些实验平台可分为两组:基于集成电路的硬件平台和基于软件的模拟平台。

基于集成电路的硬件平台具有完整的硬件结构映射的优点,但是存在操作复杂、电路容易故障、动态演示困难等缺点,并且由于采用功能较为复杂的集成电路,硬件结构的映射无法达到寄存器级别。而基于软件的模拟平台可以是完全基于编程语言(如C语言或其他高级语言)开发模拟软件,具有灵活、容易修改、动态演示方便等优点,但是由于软件实现是基于算法级别的,偏重于工作原理,很难把程序代码和具体的硬件结构细节对应起来。此外,已有的基于软件的模拟平台,在寻址方式和指令集方面覆盖面不广,不支持中断和堆栈的操作,这也是一大缺陷。

下面笔者将介绍基于开源软件包Multimedia Logic(MML)所开发的用于计算机组成与结构课程教学的计算机模拟器ARCH。ARCH具有软件的易动态运行、易修改、易二次开发的优点,同时又实现了硬件结构的逻辑门级映射,还具有丰富的寻址方式和指令类型,对中断和堆栈的操作提供了基本支持,从而弥补了已有相关计算机教学模拟器的不足之处。

1 研究背景

2001年,Yehezkel,Yurcik,Pearson和Armstrong研发了3种计算机结构模拟平台:EasyCPU,Little Man Compmer和RTLSim。其中EasyCPU是一个基于英特尔X86微处理器的入门级微型计算机的模拟器。它只是一个软件程序,模拟Intel X86系列微处理器的主要寻址模式和指令集合。Little Man Computer和RTLSim是对EasyCPU的进一步改进和完善。

2006年,Arias和Garcia研发了计算机结构模拟平台SimpleCPU。SimpleCPU是一个16位的模拟CPU。它采用了3种寻址模式:快速模式、寄存器模式、间接寻址。它除了包含8个通用寄存器外,还有程序计数器(PC)、状态寄存器(SR)、ALU的时间输入寄存器(TMPI)、ALU时间输出寄存器(TMPO)、存储器数据寄存器(MDR)、内存地址寄存器(MAR)和指令寄存器(IR)。

2007年,Stanley等基于MML软件包完成了计算机结构模拟平台:16位的Made。Marie具有13条指令,并使用直接和间接寻址模式,每个存储单元是16位长,指令字长和存储字长相等。机器指令由两个字段组成:2位操作码和12位的地址。Made有7个寄存器。它们是累加器(AC)、内存地址寄存器(MAR)、存储器缓冲寄存器(MBR)、程序计数器(PC)、指令寄存器(IR)、输入寄存器(InREG)和输出寄存器(OutREG),具有16位复用数据总线。

除了Marie之外,Stanley等还研发了两种不同系统结构的模拟器:哈佛体系结构和冯·诺依曼体系结构。冯·诺依曼体系结构模拟器有4条指令,具有8位的程序计数器,8位的指令寄存器,8位的累加器和8位的存储器。指令中操作码占用2位,其余的被分配给地址码,每条指令的执行周期包含3个时钟周期。8位哈佛体系结构模拟器有8条指令,每条指令的执行周期包含1个时钟周期。

笔者在Stanley和Oztekin的工作基础上所提出的计算机模拟器ARCH的所有单元是基于MML包进行逻辑门级设计,并有38个指令。这些指令是当今的商业微处理器的核心指令。它有6种不同的寻址模式,同时支持中断和堆栈操作。此外,因为它的所有单元是在逻辑门级设计的,所以,学生可以很容易检查在模拟器中的所有单元的内部结构。表1所示是各种计算机模拟器的基本属性。

2 ARCH结构和指令

2.1 总体结构

ARCH是用于本科生计算机组成与结构课程教学的模拟器。它有38条指令,包含11条存储器和累加器操作类指令,6条指令的变址和堆栈操作指令,13条无条件和有条件转移指令,6条指令的条件码寄存器操作指令和2条指令输入/输出指令。它支持6个不同的寻址模式,包括立即、直接、间接、变址、相对、隐含寻址模式。它有11个寄存器,包括地址寄存器(AR)、程序计数器(PC)、暂存器(TR)、变址寄存器(IX)、16位长的堆栈指针(SP)、指令寄存器(IR)、输入寄存器(INPR)、输出寄存器(OUTR)和8位长的条件码寄存器(CCR)。ARCH的数据路径宽度为16位,地址寄存器的宽度为16位,所以ARCH有64KB的内存区域。ARCH中有一个专用的有效地址生成部件。该部件可以根据寻址模式计算出一个有效的地址,而不是采用通用ALU进行地址计算。该有效地址生成部件需要6个时钟周期生成有效地址。MML开发环境中ARCH核心部件ALU和CU结构如图1所示。

2.2 指令系统 ARCH的指令包含操作码和地址码两部分。操作码包含两个字段:操作类型和寻址模式。在内存空间中,隐含寻址模式的指令占用1个字节,直接、间接和立即寻址模式的指令占用3个字节,相对和变址寻址模式的指令占用2个字节。所有寻址方式指令的第1个字节是操作码。操作码的第4、5和6位表示6个不同寻址模式的其中之一,其余操作码位表示指令的操作类型。

1)累加器操作指令。

累加器操作共有11种不同指令。采用立即、直接和间接寻址模式的累加器操作指令占用3个字节,而采用变址寻址模式的累加器操作指令占用2个字节,此外采用隐含寻址模式的累加器操作指令仅占用1个字节。各种累加器操作指令如表2所示。

2)变址指令和堆栈指令。

变址和堆栈指令使用立即、直接、间接、变址和隐含寻址模式。在存储器中,前3种模式占据3个字节,第4种模式占用2个字节,第5种模式占用1个字节。各种变址指令和堆栈指令如表3所示。

3)有条件或无条件转移指令。

有条件和无条件转移指令可以改变程序流程。只不过一些是有条件转移,其他的则是无条件转移。绝大多数转移指令使用相对寻址模式,只有返回主程序指令使用隐含寻址模式。各种有条件或无条件转移分支指令如表4所示。

4)带条件寄存器操作指令。

在执行转移指令时,带条件寄存器操作指令有特别重要的作用。它们全部采用隐含寻址模式,并在取指和译码阶段的最后一个时钟周期执行。表5所示是各种带条件寄存器操作指令。

5)输入/输出指令。

为了与外设(如键盘)进行数据传送,ARCH使用8位的键盘作为输入单元,使用可用的8位LED显示单元作为输出单元。数据从键盘被转移到输入寄存器(INPR),并且进一步被转移到LED显示单元,存储于输出寄存器(OUTR)。ARCH支持有两种输入/输出指令:IN和OUT。IN指令是将从键盘输入的数据传送到INR中存储起来,OUT指令是将数据从OUTR传送到LED显示单元。

ARCH模拟器支持查询输入/输出方式,这时输入标志(FGI)和输出标志(FGO)必须在输入/输出的操作过程中不断地检查。如果其中的一个控制标志是逻辑1,那么计算机开始传输数据。然而,由于计算机和外围设备之间的数据传输率是非常低的,所以这种数据传送方法不是很有效。

另一种方式是采用下述中断方式。当输入/输出单元已经准备好了,利用中断方式通知ARCH。ARCH立即离开主程序执行,并启动必要的输入/输出操作传送数据。当ARCH完成输入/输出操作后将返回主程序。

6)中断。

ARCH模拟器的工作周期包含中断周期和指令周期两种。触发器C用于区分中断周期和指令周期。如果触发器C是逻辑1,那么模拟器是在中断周期,否则,是在指令周期。在指令周期中,通过控制机制来检查中断标志。如果实验人员不希望模拟器进入中断周期,则可以清除触发器C。

ARCH模拟器中设置了两个指令可以将条件码寄存器的中断标志设置为逻辑1或0。STI指令在中断标志设置为逻辑1,而CLI指令清除中断标志。

ARCH模拟器在进人中断周期之前,能保存一些寄存器的内容。这些寄存器的内容被保存在堆栈区域,这些堆栈区域是从E000h开始的4KB的内存。保存寄存器到堆栈区的操作按以下顺序进行:程序计数器、变址寄存器、累加器、条件码寄存器。

3 ARCH的应用

下面以计算f(x)=x2+x+1为例说明基于ARCH的实验操作过程。首先,约定x的值被存储在ARCH的64KB存储器的数据段中,并且最后运算结果f(x)的结果也存储到数据段中数据段是从地址为A000h开始的占用4KB的内存空间。

该计算过程对应的汇编代码如下:

0100h:LDA#1234h\累加器装载十六进制1234H。

0103h:STA[00h]\累加器内容转存到数据段。

0105h:LDA[00h]\数据从数据段提取。

0107h:MUL[00h]\在累加器中的数据乘以数据段的数据,并存储到累加器。

0109h:ADD[00h]\在累加器中的数据加上数据段中的数据,并存储到累加器。

010Bh:INC\累加器中的值递增并存储到累加器。

010Ch:STA[00h]\累加器的值被存储到数据段。

010Eh:HLT\程序停止。

上述汇编代码可以手动或者通过汇编程序自动转换成为二进制代码,并存储于文件中。

在MML开发环境中运行ARCH,此时二进制代码文件中的代码和数据被自动载入存储器中并执行。我们可以通过ARCH包含的LED查看相应的执行结果。

4 结语

在计算机组成与结构课程教学过程中,为了把学习到的理论知识付诸实践,利用实践验证和深化所学到的理论知识,许多高校已经开始研发各种教学用的计算机模拟平台。针对基于软件实验平台的抽象粒度过大和基于硬件实验平台交互性不强的问题,笔者提出了基于开源软件包MML计算机模拟器ARCH。ARCH不仅具有软件的易动态运行、易修改、易二次开发的优点,同时还实现了硬件结构的逻辑门级映射,并具有丰富的寻址方式和指令类型,对中断和堆栈的操作提供了基本支持,从而弥补了已有相关教学模拟器的不足之处。

有关计算机组成与系统结构设计论文推荐:

计算机组成与系统结构设计论文相关文章:

1.计算机毕业设计论文

2.关于计算机工程毕业设计论文

3.计算机应用技术专业毕业论文

4.计算机工程硕士论文

5.浅谈基于Web技术的计算机辅助系统设计与应用研究

6.计算机专业论文范文大全

更多相关阅读

最新发布的文章