引论:我们为您整理了13篇计算机系统结构范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。
篇1
世界上第一台电子计算机ENIAC诞生于1946年,在问世将近70年的时间里,计算机共历经电子管计算机时代、晶体管计算机时代、中小规模集成电路计算机时代、大规模和超大规模集成电路计算机时代和巨大规模集成电路计算机时代,计算机更新换代的一个重要指标就是计算机系统结构。
1 计算机系统结构的基本概念
1.1 计算机系统层次结构的概念
现代计算机系统是由硬件和软件组合而成的一个有机整体,如果继续细分可以分成7层。L0:硬联逻辑电路;L1:微程序机器级;L2:机器语言级;L3:操作系统级;L4:汇编语言级;L5:高级语言级;L6:应用语言级。其中L0级由硬件实现;L1级的机器语言是微指令级,用固件来实现;L2级的机器语言是机器指令集,用L1级的微程序进行解释执行;L3级的机器语言由传统机器指令集和操作系统级指令组成,除了操作系统级指令由操作系统解释执行外,其余用这一级语言编写的程序由L2和L3共同执行;L4级的机器语言是汇编语言,该级语言编写的程序首先被翻译成L2或L3级语言,然后再由相应的机器执行;L5级的机器语言是高级语言,用该级语言编写的程序一般被翻译到L3或L4上,个别的高级语言用解释的方法实现;L6级的机器语言适应用语言,一般被翻译到L5级上。
1.2 计算机系统结构的定义
计算机系统结构较为经典的定义是Amdahl等人在1964年提出的:由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。由于计算机具有不同的层次结构,所以处在不同层次的程序设计者所看到的计算机的属性显然不同。
2 计算机系统结构的发展
2.1 传统系统结构
当Amadahl在1964年提出计算机系统结构的定义时,也提出了采用系列机的思想,它的出现被誉为计算机发展史上的一个重要里程碑。当人们普遍采用系列机思想后,较好的把硬件技术飞速发展与软件环境要求相对稳定的矛盾解决了,这就要求系列机的系统结构需要在相当长的时间内保持基本不变。其中,最重要的是保持它的数据表示、指令系统以及其他概念性的结构保持不变。
2.2 冯・诺依曼结构
冯・诺依曼结构(也称普林斯顿结构)是美国数学家冯・诺依曼在1946年提出的,他将计算机分为五大部件:运算器;控制器;存储器;输入设备;输出设备。其基本思想是存储程序,主要特点是:(1)单处理机结构,机器以运算器为中心;(2)采用程序存储思想;(3)指令和数据一样可以参与运算;(4)数据以二进制表示;(5)将软件和硬件完全分离;(6)指令由操作码和操作数组成;(7)指令顺序执行。
2.3 对冯・诺依曼结构的改进
为了更好的优化计算机系统结构,人们不断对冯・诺依曼结构进行改进,总的来说,共采用两种方法。一种是在冯・诺依曼结构的基础上进行“改良”;另一种是采用“革命”的方法,即脱离冯・诺依曼结构,和其工作方式完全不同,统成为非冯・诺依曼结构。
2.4 哈佛结构
哈佛结构的计算机分为三大部件:(1)CPU;(2)程序存储器;(3)数据存储器。它的特点是将程序指令和数据分开存储,由于数据存储器与程序存储器采用不同的总线,因而较大的提高了存储器的带宽,使之数字信号处理性能更加优越。
2.5 其他系统结构
冯・诺依曼结构开启了计算机系统结构发展的先河,但是因为其集中、顺序的的控制而成为性能提高的瓶颈,因此各国科学家仍然在探索各种非冯・诺依曼结构,比如,数据流计算机,函数式编程语言计算机等都是较为著名的非冯・诺依曼结构。
3 计算机系统结构的分类方法
研究计算机系统结构的分类方法可以帮助我们加深对计算机系统结构和组成特点的认识以及对系统工作原理和性能的理解。下面简单介绍2种比较常用的分类方法:Flynn分类法;冯氏分类法。
3.1 Flynn分类法
由于计算机系统结构由多级层次构成,因此在设计计算机系统结构时就可以有三种方法:(1)“从下往上”设计;(2)“从上往下”设计;(3)“从中间开始”设计。
4.1 “从下往上”设计
首先根据能够得到的硬件,参照已经生产出来的各种机器的特点,开发出将微程序机器级和传统机器级设计出来,然后依次往上设计,最后将面向机器的虚拟机器级设计出来。在硬件技术高速发展而软件技术发展相对较慢的今天,如果继续采用这种设计方法,会导致软件和硬件的脱离,因此已经很少使用这种方法。
4.2 “从上往下”设计
首先根据应用的需求,确定好整个系统的框架,然后逐层向下进行设计,同时可以兼顾到上层的优化,最后设计出微程序机器级和传统机器级。这种设计方法较好。
4.3 “从中间开始”设计
大多数将“中间”取在传统机器级和微操作级之间。在设计时,综合考虑软硬件,定义好分界面,然后由中间点分别往上、往下同时进行设计。此种方法可以缩短设计周期。
5 结束语
综上所述,本文对计算机系统结构进行了一些简单的介绍,它是计算机的灵魂,目前,如何更好地提高系统结构的性能,仍是各国科学家不断研究的课题。
参考文献
[1]陈书生,.计算机组成与系统结构[M].武汉:武汉大学出版社,2005.
[2]高辉,张玉萍.计算机系统结构[M].武汉:武汉大学出版社,2004.
[3]郑纬民,汤志忠.计算机系统结构[M].北京:清华大学出版社,1998.
篇2
Computer Systems Architecture Assisted Teaching
――Database Design and Implementation
Liu Wenjie
(Guangdong Trade&Industry Higher Technical School,Lechang512200,China)
Abstract:This paper introduces how to design and implement a database for computer architecture aided educational system.It introduces how to use Java Server Pages with the character of setting up and running interactive and dynamic web server and other specialties to make up dynamic page and expounds systematically how to design,create,manage and maintain the website’s database by using databases.
Keywords:System architecture;System;Database;Study forum;Dynamic page;
The on-line examination
一、引言
(一)专题辅助教学系统的发展现状
通过互联网,学生可利用远程资源在网上完成学习的各个环节。但是目前很多专题学习辅助教学系统存在许多不足,主要包括以下几个方面:
1.重开发实践,轻理论研究,真正实用的教学软件系统不多
2.专题选择的范围不恰当
3.专题内容多杂,针对性差,学科特征有所忽视
4.忽略“师生共建”的原则,建设主体单一化
5.辅助教学系统建设过程与应用过程分离
二、数据库系统功能设计
(一)数据库设计方案
1.数据库设计原则及优化
数据库设计遵循生命周期法等系统方法,强调分步进行和推迟实现。用户是系统开发设计的提出者和最终使用者,因此在进行数据库设计时必须强调用户参与。数据库的设计应分阶段进行,前一段的结果作为后一阶段设计的依据,后一阶段也可以向前一阶段反馈要求。具体设计步骤如下:
(1)需求分析:通过广泛、详细、深入的调查,了解计算机系统结构辅助教学系统的信息需求和处理需求,根据调查结果形成合理的需求分析说明书,作为设计的依据。它包括数据库所涉及的数据范围、各项数据的特征描述、数据量等。如数据名称、类型、是否主码等。
(2)概念设计:利用数据库模型表述数据与数据之间的关系。在概念设计的时候先设计与具体的用户应用相关的设计结构,然后进行视图集成,经过反复推敲、修改,最后得到一个能正确的反映单位数据及其相关联系并能满足各种处理需求的数据模型。
(3)逻辑设计:将概念数据模型转换为一DBMS对应的逻辑数据模型,同时也将用户视图转换为外模式。
(4)物理设计:根据具体DBMS的特点设计数据库内模式,由于计算机系统结构辅助教学系统的数据库并非大型数据库所以对系统性能影响不大,但是同样应该根据处理要求、设备性能等进行精心的设计优化。
在分步设计的过程中,如果发现某一阶段的设计不理想,可以立即反馈,对原设计进行修改,通过如此反复进行,实现数据库的优化。
2.数据库的安全性
计算机系统结构辅助教学系统使用Microsoft Office Access 2003数据库。为了保证数据库的安全,限制非授权的存取,数据库系统具有一个安全与授权子系统。它包括方面的内容:第一,为管理员提供建立用户帐号和密码,第二,进行安全性检查。
在本教学系统中,数据库安全体现在以下两个方面:
(1)采用数据库密码的登录。
(2)采用MD5加密算法进行加密。防止了SQL的注入,即使数据库被非法登入也无法知道用户的登陆信息,大大提高了用户信息的安全性。
(二)数据库系统的功能设计
1.学习论坛模块数据库实现的功能
学习论坛系统模块的结构功能如下所示:
(1)用户注册:以严格的注册流程,合理化的动态表单,实现注册人员的信息收集。
(2)用户登陆:动态实现窗口登陆,功能引导,并对非法登陆给予限制。同时登陆时根据权限授予相应的功能,登陆时分三种权限:普通用户,斑竹,超级管理员。用户登陆页面。
(3)帖子管理:对各栏目帖子的管理,可以简便实现帖子的回复,打印,增删新贴。同时可以搜索相应发贴人的资料。
(4)公告管理:管理员可随时登陆更新公告的信息,修改,添加,删除已的公告信息。
(5)用户管理:超级管理员可以授予用户不同的权限,通过斑竹管理相应的论坛,减少超级管理员的工作量,方便论坛的管理。同时,管理员也可以启用禁止用户,修改,删除用户的信息及他所发的帖子。
(6)搜索功能:可以实现用户对帖子及用户的分类快速搜索。按的时间和论坛类别进行限制性的搜索。
(7)资料显示:显示当前用户注册的信息及发,回帖子的情况,同时也可以对已添的资料进行修改,删除。
(8)论坛管理:管理员可以整添新的论坛,确定斑竹人选,还可以对已有的论坛进行修改,删除。
2.新闻公告模块及在线考试模块数据库实现的功能
在新闻公告模块中当用户打开系统首页后,首先看到的是新闻动态、站内公告两个版块,其中每个版块均显示最新的8条信息,并且提示的标题,时间,作者,浏览次数。大家可以分版块有选择的查看最新新闻动态、阅读本站的最新公告。
新闻动态模块与站内公告模块类似,点击相应的标题就可以直接进入相应的阅读,并且可以在百度上搜索与之相关的信息,如图1。
在线考试模块,对用户进行在线测试。这里选择10道有代表性,不同难度的试题对学生进行测试,目的是验证学生对这个知识点的掌握程度,答题完毕提交后会自动显示结果,并且给出正确的结果。
3.后台管理模块数据库实现的功能
在后台管理模块中当用户打开管理首页后,首先看到的是登陆界面,只有在正确登陆的情况下才能对后台的信息进行更新。后台管理主要包括下面几项功能:新闻动态文章的管理,站内公告文章的管理,用户管理,站点信息动态管理,频道栏目的管理。
进入后台管理模块,在后台登陆界面中输入相应的用户名和密码,系统随机产生四位有效验证码,在上述三项正确填写后,进入后台管理的首页登陆成功,就可以直接进入管理界面,进行相应信息的管理,如图2所示。在首页中,可以对用户,新闻,公告,频道栏目,站点信息进行相应的管理。图3是后台管理模块流程图。
三、结论
我们在研究国内外已有的计算机系统结构辅助教学系统的基础上,结合师生的实际需要,开发了新的计算机系统结构辅助教学系统。本系统主要包括课堂教学、学习论坛、在线考试、课件下载,维客天下,教学大纲,后台管理等功能模块。
本文主要介绍了计算机系统结构辅助教学系统数据库的设计与实现过程。首先,说明了利用JSP创建并运行动态交互的网络服务器应用程序生成动态网页的方法,然后,系统地阐述了使用数据库进行网站数据库的设计、创建、管理和安全维护的方法。最后,介绍了添加数据库驱动,建立数据连接,完成数据操作,关闭数据库连接的实现方法。本软件系统测试结果表明系统的学习功能比较全面、运行良好,为广大学生提供了一个很好的学习计算机系统结构课程的辅助平台。
参考文献:
[1]彭林,余艳.Access 2003金典教程.北京:人民邮电出版社,2001
[2]廖彬山,高峰霞.Web数据库开发技术.西安:电子工业出版社,2001
篇3
文章编号:1672-5913 (2007) 24-0017-03
1计算机系统结构课程教学现状分析
随着计算机硬件、软件技术的发展,如何合理分配计算机软、硬件功能,最大限度地开发计算机的并行性,达到最佳性价比,是计算机系统设计人员最关心的问题。对计算机专业本科生而言,不仅要掌握计算机的软、硬件系统组成及工作原理,具备开发与应用的技能,而且还需要进一步掌握计算机系统设计的基本原理和方法。计算机系统结构正是这样一门面向计算机系统设计、性能评价与分析的课程。
计算机系统结构是为计算机专业本科生开设的一门系统分析与设计综合的课程,也是计算机科学与技术专业的核心课程。通过本课程的学习,能够使学生掌握计算机系统结构的基本概念,学会以高层建筑的观点,以应用算法、硬件、软件综合考察和分析设计计算机系统结构;培养学生以性能价格比的观点去分析、评估、设计一个计算机应用系统;使学生掌握当代迅速发展的RISC技术的主要设计思想和技巧;了解高等计算机系统结构的并行性、可扩展性及可编程性等先进技术思想,掌握最新的计算机流水技术和并行处理技术。
目前该课程的教学由于受到课时的限制,大多采用以教学为主,辅以适当的作业、定期答疑的形式进行课程的教与学。由于计算机系统结构课程与以往硬件课程相比,较为抽象,学生感到学习这门课程有一定的难度,“只说不练”限制了学生自主学习的动力,只能被动地接受知识,影响了学习效果。由于计算机系统结构在计算机专业课程链上排在计算机组成原理之后,要求学生对计算机的组成与设计有相当程度的了解。因此该课程所学的内容,不单是纯粹的理论知识,还构建在一定的计算机硬件结构上,所以有必要对相关知识点辅以实践教学,不能对所有内容太过“透明”,这样才能有助于学生更深一层掌握这门课程。
在计算机系统结构课程实践教学环节,通常采用的是虚拟化仿真软件winDLX、DLXview、SimpleScalar等,这些仿真软件都具有一定的典型性,对问题的考虑较细致,而且在软件设计上便于观测运行结果及进行性能分析。但这些软件只针对课程某一部分知识进行实践,而对于其他知识的实践缺少支撑,因此需要去熟悉每一个环境,较为烦琐。
为了提高计算机系统结构课程教学质量,结合目前在北京工业大学计算机专业本科生教学实践中采用的部分措施,我们提出了基于EDA平台的计算机系统结构实践教学的方法,并针对存储系统的课程实践进行了研讨。
2EDA平台用于课程实践
通过对国内外课程实验现状的调查分析研究后,我们对该课程实践环节进行了相应的改革,摒弃了以往在面包板上插线所进行硬件设计的实验方式,采用EDA平台进行单项实验以及最后的课程设计。通过这种实践方式避免了以往实验存在的过多“验证性”的元素,以及实验中存在的插线虚接、连线折断及无法保存个人电路设计造成实验不能间断进行的问题,这对于培养学生良好的硬件设计思维,建立系统级的概念有非常重要的意义。
由于EDA平台具有灵活性和可保存性,极大地方便了课程实践的参与者。教师可以根据课时的要求,方便地调整课程实践的方案;学生可以根据自己的时间安排课程实践。在设计过程中,每个学生可以根据需要选择课程实践中所需要的器件及芯片,按自己设计出的逻辑电路进行芯片间的连线,线路一旦连接好,不必再担心连线折断、导线虚接等问题。在此基础上,针对设计出的部件进行模似仿真,测试验证计算机整机设计结果的正确性。在课程实践测试完成后,利用存储的测试结果,提交给教师查验。可以看到,采用EDA平台,能够更好地进行计算机系统硬件的课设实验,并提高课设实验的水平及效率。
经过计算机组成原理课程实践改革,我们认为采用EDA平台方式来完成计算机系统硬件课程设计是可行的,其中硬件设计的可继承性是以往其他手段所不具备的,学生所做的单项实验可以在课程设计中继续使用,不同的功能部件设计以及不同的模型机结构带来了设计结果的多样性,学生的创造性得到了发挥,这也给我们带来了启示,能否利用计算机组成原理课程实践中的一些成果,将EDA平台引入计算机系统结构中来,使得学生在前面课程中的硬件设计不会因为课程的结束而结束,这不仅有助于课程的延续性,也有助于提高学生学习的兴趣。
为了验证EDA平台在计算机系统结构课程实践中的可行性,我们针对计算机系统结构中的Cache存储体系采用EDA平台进行了有意的探索。此内容在系统结构课程中占据着很重要的一节,通过讲述主存与Cache的地址映像方式等内容,使学生对存储系统的优化设计有更深刻的认识,能够从速度、容量、成本的角度理解不同的设计方法对提高计算机系统性能的影响。
我们依然采用计算机组成原理课程实践中使用的Quartus II平台。该平台是完全集成化、易学易用的可编程逻辑设计环境,具有硬件描述语言、电路原理图、时序图等多种文件格式输入方式,利用其提供的标准门电路、芯片等逻辑器件,完成数字电路从设计输入、编辑、编译、仿真、封装到下载的全过程。该系统强大的图形界面和完整的帮助文档,使学生能够轻松快速地掌握和使用该EDA平台进行逻辑电路及相关系统的设计。
为了避免在单项实验上花费大量的实验学时,且从课程延续性角度考虑,可以选择在计算机组成原理课程中设计的模型机上构建这个系统,在模型机总体结构上增加一个Cache模块,如图1所示。系统总体框图与模型机结构类似,除了Cache部件外,只是在控制信号微命令上有所增加。为了体现Cache的功能,模块内可以包括地址映像,地址转换,替换算法等功能部件,基本上包含了课程中所讲授的知识点。
图1 系统总体结构框图
以一个16位模型机为例,Cache采用了组相联的地址映像方式,Cache部件数据通路如图2所示。Cache的主要工作部件有Cache存储单元、块表单元、替换单元、比较单元、块表修改单元。Cache设计为地址包括每四块为一组,一共有四组,同时将内存地址设计为区号、组号、组内块号和块内地址,也是每四块为一组,一共有四组,同时分为两个区。块表存储器采用按地址访问和按相联访问两种方式工作。在块内采用相联方式访问,在块之间采用按地址方式访问,块表的容量与Cache的块数相等。替换算法采用FIFO法,完全采用硬件实现地址的映象及替换算法,每组一个模4的计数器,本组有替换时,计数器加1,计数器的值就是要被替换出去的块号。
图2 Cache部件数据通路
设计完成后编制调试程序,程序以二进制或十六进制数的形式存入主存储器的初始化文件中,在时序信号的配合下,对主机系统的整体运行进行调试。在给定机器唯一的输入信号――时钟脉冲信号CLK后,使机器自动地、连续地运行存储在主存中的调试程序。在遇到停机指令后,则停止机器运行。机器运行结束后,检测机器运行调试程序的时序模拟仿真输出波形图,以确认各条机器指令运行的正确性。
图3为部分测试波形图,图中IN为Cache部件接收的内存地址,IND为要写入的值,QB为Cache存储器的输出端,与数据暂存器和内存的存储器相连,QA为内存的输出端,与Cache的存储器相连,RB为Cache内部存储器的地址,RA为内存的地址。图中可以看到在08H时,未命中,因此装入08H~0FH的值11~18装入到Cache的18H~1FH中,波形图与设计相符。因此通过波形图可以很好地验证设计的正确性。
图3 测试波形图
在设计实现过程中,学生可以根据自己掌握理论知识的深度以及设计难度进行开发,教师可根据实现程度给出评分标准。Cache存储体系知识点较多,比如地址映像方式有直接相联、全相联、组相联等方式,替换算法有随机法、FIFO、LFU算法等,当Cache与主存不一致时有写直达法和写回法,以及对Cache性能分析时加速比的计算等。选择采用哪种算法可以由学生来选择,可以根据模型机结构,采用8位或16位通用寄存器,控制部件的设计可以采用微程序控制部件或组合逻辑控制部件的设计方式。这样通过EDA平台,可以将学生各自的设计思想体现出来,加强了计算机系统结构课程的生动性。
3结论
本文通过对计算机系统结构课程教学现状的分析和研究,结合目前在教学实践中已采用的部分措施,提出了在计算机系统结构课程中采用EDA平台进行相关课程实践的方案。通过采用EDA平台,可以将学生各自的设计思想体现出来,加强了计算机系统结构课程的生动性,有助于提高学生学习的兴趣,还能够在一定程度上提高学生的实践能力。采用EDA平台对Cache存储系统进行课程实践,对计算机系统结构课程的其他知识点的实践起到了一个先导的作用。
参考文献
[1] 郑纬民,汤志忠. 计算机系统结构[M]. 北京:清华大学出版社,1998.
[2] 易小琳等. 基于EDA平台的计算机系统硬件课程虚拟化实践的研究[J]. 中国大学教学,2005,(7).
[3] 易小琳等. 网上计算机系统虚拟实验室的研究[J]. 计算机工程,2002,(11).
[4] 易小琳,朱文军,鲁鹏程. 计算机组成原理实践教程―基于EDA平台[M]. 北京航空航天大学出版社,2006.
作者简介
鲁鹏程(1976-),男,讲师,计算机系统结构教研组教师,博士,目前研究方向为计算机系统结构及嵌入式系统。
易小琳(1959-),女,高级工程师、计算机系统结构教研组主讲教授,硕导,目前研究方向为计算机系统结构及嵌入式系统。
朱文军(1974-),男,讲师,计算机系统结构教研组教师,博士,目前研究方向为计算机系统结构及嵌入式系统。
方娟(1973-),女,副教授,计算机系统结构教研组教师,博士,目前研究方向为计算机系统结构及网络。
毛国君(1966-),男,教授,计算机系统结构系主任,博士,目前研究方向为计算机系统结构及数据挖掘。
联系方式:北京工业大学计算机学院,北京朝阳区平乐园100号,100022,鲁鹏程
篇4
1 引言
“计算机组成原理”(CP)是高校计算机专业学生的一门必修的专业技术基础课,它不仅可使学生剖析和体验计.算机的基本组成和工作原理,掌握计算机系统的基本设计技术,而且可培养学生分析和解决数字系统实际问题的能力,同时也是培养计算机系统分析、系统设计和系统集成技术人员的一个有效的教育环节。它在整个专业课的教学中,起到了承上启下的作用,是“微机接口技术”、“汇编语言程序设计”、“计算机系统结构”等后继课程的基础。该课程以计算机5大部件内容为主线,以内部结构和工作原理为重点,介绍计算机内部各功能部件的结构和工作原理及其构成整机的原理。
“计算机系统结构”(CA)是计算机领域中的一门重要学科,它强调从总体结构和系统分析这一角度来研究计算机系统。学习本课程,对于培养学生系统地、自上而下地分析和解决问题的能力和抽象思维能力有着非常重要的作用。本课程通过讲解计算机体系结构的新发展,把国内外体系结构方面比较成熟的研究成果和关键技术融入课程当中,并把前续的“数字逻辑”、“计算机组成原理”、“操作系统”、“编译原理”、“数据结构”、“汇编语言程序设计”等课程中所需的软硬件知识有机地结合起来,从而建立起计算机系统的完整概念。
由此可见CP与CA有着紧密的联系,在现有的教材中甚至出现了比较多的重复,在学生中引起比较大的反应。本文主要针对这一问题进行研究,拟在理顺这两门课的关系,调整好两门课程的教学内容。
2 教学内容的研究
在cP与CA系列教材中,两门课程出现重复的内容有:计算机系统的层次结构和计算机系统的性能指标;浮点数据的表示、寻址技术、指令格式的优化设计、复杂指令系统(CISC)和精简指令系统(RISC):高速缓冲存储器(Cache)和虚拟存储器工作原理和地址的映像与变换;输入输出系统的原理和方式、中断系统的工作原理:流水线工作原理。重复的结果不仅占用了CA课程宝贵的课时,而且使学生产生了厌学情绪。CP与cA两门课程究竟如何分工?该不该重复?又该怎么重复?是教学中值得研究的问题,也是亟待解决的问题。
在课程内容的选择上,以教学大纲为依据,按照学科知识体系的完整性和适时性原则组织课程内容。在内容上做到没有知识的简单重复、没有重要知识的缺失,同时要删除已过时知识,并补充新知识,从内容方面激发、吸引学生的学习兴趣。本文重点研究分析重复内容的必要性、可完善性和创新性。
对于计算机系统的层次结构,在CP中作为概述来介绍,以了解微程序在计算机系统层次结构中的位置,可以更好地理解软件、硬件、固件的地位和作用;而在CA里则是从概念和功能上将计算机系统看成多级层次结构,这样有益于理解各种语言的实质和实现途径,探索虚拟机新的实现方法和新的系统设计。所以计算机系统的层次结构的概念在CP课程和CA课程中是必需的内容。
关于计算机系统的性能指标,由于在CP中讲述的是冯・诺依曼体系结构各组成部分的工作原理,所以了解各组成部分的性能指标是必要的;而在CA课程中用性能指标来衡量计算机系统的标准,所以有必要更深入分析CPU时间、MIPS、MFLOPS和成本指标。
对浮点数据的表示,在CP课程中介绍了浮点数据的表示格式和表示范围,在CA课程中不必再重复,只需介绍浮点数的基数的选择、表数精度和表数效率,然后介绍浮点数的IEEE 754表示;当然对于高级数据的表示,在CA课程中是必需的。
对于指令系统,在CP中介绍指令的格式、寻址方式和操作码的扩展编码方式,最后介绍CISC和RISe的概念和示例;在CA课程中主要介绍指令格式的优化,CISC和RISC设计的关键技术。
输入输出系统的原理和方式、中断系统的工作原理在两门课程中是重复最多的一部分,CA较CP多出了通道处理机和输入输出处理机简介,可以归入CP课程。但考虑到中大型计算机的输入输出系统在计算机系统结构中是很重要的部分,所以可以将通道处理机和输入输出处理机在CA中介绍,同时将CP中的系统总线简介也归于系统结构,并从系统设计的角度去介绍。
高速缓冲存储器和虚拟存储器工作原理以及地址的映像和变换在两门课程中也是重复较多的。在CP中可以仅介绍其工作原理;而在CA课程中重点在于其性能分析,深入学习替换算法及其实现,分析提高存储器系统命中率和性能的方法。
对于流水线工作原理,在CP中仅介绍了流水线、数据相关和控制相关的概念,但在CA中要学习流水线处理机、超标量处理机与超流水处理机,其中包括先行控制技术、流水线原理、流水线性能分析、非线性流水线的调度方法、局部数据相关和全局数据相关、超标量超流水超长指令字处理机和向量流水和向量处理机,其内容远多于CP,因此这部分内容完全归入CA比较合理的。
在CA与CP中的未重复的内容,比如向量处理、SIMD并行计算机、SIMD计算机的互连网络、多处理机将作为重点内容在CA中介绍。而在以上分析中,由于CA课程的内容部分归入了CP,所以可以在CA课程中添入新的内容,比如多处理机算法,包括并行搜索算法、串行算法到并行算法的转换、同步并行算法和异步并行算法,并行程序设计语言及其实现方法。最后可以介绍计算机体系结构的新发展,包括数据流计算机、数据库机与知识库机以及面向函数程序设计语言的归纳机。
以上对CP与CA两门课程的重复内容进行了分析研究,拟在理清两门课程的关系,合理解决两门课程的内容重复问题。
3 解决方案
解决该两门课程内容重复的宗旨在于把握CP注重原理介绍,而CA注重高性能设计和并行处理。通过对两门课程的内容的研究和分析,调整后的内容如表1所示。
篇5
基金项目:本文系上海市教育委员会重点课程建设项目(项目编号:1K-12-302-001)、上海理工大学核心课程建设项目(项目编号:1K-00-302-010)的研究成果。
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)01-0076-02
面对国内知名高校计算机专业建设国际化教学的大趋势,上海理工大学加大计算机专业课程国际化建设的力度,培养国际化教学团队,开辟国际化精品课程。从课程设置、教材选编、师资队伍、助教制度、国际交流等五个方面建设一套上海理工大学独特的国际化教育模式,体现出教育差异化优势。培养既具有专业背景又能走向国际的计算机专业学生,推进上海理工大学由教学研究型向研究教学型大学转变,把上海理工大学建设成“卓越工程教育”的上海市旗舰高校、全国工程教育的示范高校。
计算机科学技术的变革日新月异,计算机系统结构的发展突飞猛进,通过引进全英文经典教材实施双语教学具有重要的意义。在计算机专业本科生课程中实施双语教学的前期尝试,效果不尽如人意。主要原因在于:第一,本科生的英语听力和阅读能力欠缺,难以有效地理解课程内容;第二,本科生的专业基础的知识结构尚不完整,无法深入理解计算机系统结构的研究前沿课题。而针对研究生的“高级计算机系统结构”课程采用双语教学,因为绝大多数研究生都具备大学英语六级的水平,外国留学生也均来自母语是英语的国家,英语听说能力基本能满足教学的需求;同时,研究生绝大多数都是计算机相关专业毕业的本科生,具备计算机相关专业的基础知识。
通过对“高级计算机系统结构”的双语教学,一方面使得研究生能获得最新的研究方向和研究热点,另一方面将进一步提升研究生的专业英语能力,使得研究生在未来的研究和工作中受益。特别是在2011年计算机科学与工程系获得计算机科学与技术专业和软件工程专业两个一级学科硕士学位授予权的发展机遇期,增强计算机系统结构研究领域内的科研力量,扩大科研创新增加科技成果,推进“高级计算机系统结构”课程的双语教学能力和课程建设,具有重要的现实意义。
一、优化课程设置
计算机系统结构是计算机科学与技术及其相关专业的学位课,其教学内容涵盖了计算机组成原理、编译系统、操作系统、数据结构、数字逻辑等计算机专业的基础课程。因此,国内外著名大学计算机系对这门课程非常重视。据调查,美国的MIT、CMU、UIUC、Stanford 等著名大学都采用最新的计算机系统结构领域内的权威教材,如David A. Patterson等人编写的《Computer Architecture:A Quantitative Approach》。上海理工大学计算机相关专业的研究生课程“高级计算机系统结构”,进一步量化分析和设计计算机系统结构,多年来一直将该课程列为研究生的学位专业课。从前几年的教学情况来看,这门课程在课程设置上的主要问题体现在:
最近几年计算机系统结构发展迅速,如多核处理器、内存技术、总线技术等都取得了飞跃发展,而前几年的课程内容知识陈旧,难以跟上最新技术的步伐,学生希望接触到最前沿的学科发展和研究动态。
“高级计算机体系结构”课程,教学内容与本科阶段的课程内容差别不大,学生觉得有重复教授的内容出现。
由于计算机系统结构是计算机专业综合性最强的一门课程,涉及到计算机软件设计、编译系统、硬件设计等全面知识,学生学习基础薄弱,学习起来比较吃力,从而导致愿意从事计算机系统结构前沿研究的学生不多。
学生反映该课程教学内容多,知识结构全面,前沿课题突出,学习难度大。但是,该课程的学时数和学分数严重偏少,难以深入理解和讲授,不愿意花费大量时间着重学习一门学分偏少的课程。因此,该课程的重要性难以引起学生的重视。
因此,对“高级计算机系统结构”课程采用双语教学,在课程设置和教学内容上非常重视教学内容的更新,坚持每年更新的内容占15%~20%。因此,本课程决定不选用前几年教学中的老教材,而选用最新的、全英文版本的《Computer Architecture:A Quantitative Approach(Edition 5)》作为高级计算机系统结构的教材,并且跟踪计算机系统结构领域内的最新研究成果,组织研究生分组讨论和课程报告。不仅让学生学习计算机系统结构的理论知识和分析方法,引导学生提出新的方法和新的解决方案,而且要求学生采用最新的研究工具,亲自动手设计设计实验,完成方法的验证,进一步提高学生的动手能力和编程能力。
二、更新教学内容
一方面采用最新版本的、与国际接轨的计算机系统结构量化分析教材,由主讲教师进行课堂教学,学生学习;另一方面采用研讨式教学方法,在主讲教师对前沿课题进行介绍的基础上,由学生分组就某个领域进行专题研究,并由学生提出新方法或新的解决方案,分享新思想,研讨新办法。如此,采用师生互动方法,学生既学习到了基本方法又能体会到研究最新技术的乐趣,获得研究成果的成就感。因此,教学内容主要包含计算机系统结构量化分析课程教学和前沿课题研讨两个方面。专题教学内容更新如表1所示。
三、强化师资队伍
从事国际化教学的教师可以从三个方面进行师资队伍建设:
加快青年教师国际化交流与培训的力度,培养本校青年教师骨干,建设一支稳定的全英语或双语教学队伍。近几年连续、有序地派出优秀青年教师到美国、加拿大、澳大利亚等国的著名大学进行教学培训和合作研究。
引进具有国际教育经历的教师,开设具有国际特色的专业课程。近几年连续引进了包括来自德国、日本、美国等国著名大学和研究机构的教授或博士毕业生,提升了教师国际化教学水平的整体实力。
邀请国外专家来华开展学术讲座、学术论坛等。通过教师“走出去”、国外教师“引进来”的战略,可以有效促进学术交流,提高学校知名度,对学校的国际化招生具有重要的作用,对推动上海理工大学国际化教育战略、促进学校办学方向的转移具有重要作用。
四、建设助教制度
建设稳定的助教制度,形成有效的助教评估体系。有助于巩固国际化教育的成果,提高理论教学的效果,学习国内外著名高校计算机专业的教学经验,开展综合性课程设计课程。稳定的助教队伍对稳定教师的教学精力、提高教师的教学水平有重要的促进作用。其中,需要涉及以下相关制度的改进工作:改进教师教学工作的评估体系,进一步规范教师对课程设计教学弹性工作的认定;设立稳定统一的助教制度,设置助教专项基金,保证助教的适当报酬,提高助教的责任心。学校要有专门的资金和相应的岗位安排。无论是研究生当助教还是新招聘的毕业生当助教,都应该遵守明确的岗位责任和职业规范。
五、促进国际交流
国际交流对提高上海理工大学的国际知名度、提高教师的教学水平、提升教师与学生的研究能力都具有举足轻重的作用。从以下方面加强建设:设立国际会议资助专项资金,资助学生或青年教师参加高水平的国际会议;积极开展与国外知名大学、教授的合作,加强对上海理工大学专业的介绍;派遣青年教师访问国外知名大学、研究所等;学校设立专项基金,鼓励计算机科学与技术等专业筹办高水平的国际会议;加强学校同海外留学生、各使领馆的联系,促进国际化教育的顺利开展。
六、修订考核方式
由于这门课程着重培养学生的创新能力和实际动手能力,因此学校将以前注重考核基础知识的学习转变为着重考核学生创新能力和实际动手进行研究的能力上。因此,修订后的考核方式如表2所示。
七、结论
通过对“高级计算机系统结构”课程的双语教学,基本达到了预期的目标,既锻炼了学生的学习和研究能力又提升了教师的教学水平和教学效果。计划在巩固当前双语教学的基础上,在后续几年针对外国留学生开设“高级计算机系统结构”的全英语教学课程,逐步打造计算机系统结构的精品课程,提升课程的教学品质,推进计算机科学与技术专业的国际化建设进程。
参考文献:
[1]丁红.计算机系统结构课程双语教学探索与实践[J].科技信息,2009,(15).
[2]范玉涛.计算机科学与技术专业专业双语教学体系构建[J].计算机教育,2011,(24).
[3]张晨曦,王志英,刘依,等.“计算机系统结构”课程内容体系的研究[J].计算机教育,2009,(20).
篇6
《计算机系统结构》是计算机学科体系的一门重要课程,它是以算法为核心,语言为描述,硬件和软件作为实现工具的互为联系又互为制约的结构技术。课程以计算机系统结构中硬中有软、软中有硬、相互转换、彼此渗透的观点,从原理、结构和实现技术等方面系统地对现代计算机的并行处理进行深入的分析和探讨,使学生建立起“整机”概念,培养其具有一定体系结构技术的应用能力。“计算机系统结构”涉及到多门其他专业课如《数据结构》、《计算机组成原理》、《操作系统》的知识,是一门综合性很强的课程,非常典型地体现出计算机学科互相融合的特点。通过该课程的学习能够提高学生系统思维和综合分析的能力,努力提高这门课程的教学质量有着重要的意义。
由于“系统结构”内容抽象,不易理解,且目前各高校在该课程的教学中实践环节的设计都比较薄弱,有的院校甚至没有安排实验,因此难以激发学生的学习兴趣,教学难度比较大。因此,需要在目前的教学条件下,综合应用多种教学方式和手段,引导学生积极思考和自主学习。
二、课程教学改革总结
(一)课程教学改革的基本思路
教学过程中教师不单要教会学生课程的知识,更重要的是教会学生如何思考,如何进行创造性思维。具备了创造性思维能力,学生不仅可以学会教师传授的知识,而且能够触类旁通,举一返三,在自身的思维实践中获取更多的知识。教师为学生服务,以培养学生的能力为目标。在师生角色上,教师是主导,学生是主体,主要采用“引导”的方式进行教学,把学习的主动权交给学生。
(二)课程教学内容的安排
以教学大纲为根据安排本课程内容,着眼于有关计算机系统结构的基本概念、基本原理、基本结构和基本分析方法,同时适当介绍近几年来系统结构的重要进展和今后的发展方向。课程选择西安电子科技大学出版社出版的《计算机系统结构》(第四版,李学干编著)作为教材,该书曾获得国家级优秀教材一等奖和优秀教学成果二等奖,内容丰富,配有学习指导和大量习题。
本课程的主要内容包括:计算机系统结构的基础理论、数据表示与指令系统、输入输出系统、存储体系、重叠与流水和并行处理机等。以前面五个部分为重点教学内容,讲解时注意与先修课《计算机组成原理与数字逻辑》的衔接,特别要体现出“系统结构”侧重于设计方法和设计思想的描述这个不同点。
(三)课程教学手段的运用
(1)树立明确的学习目标
在课程正式开始之前先对“系统结构”的主要内容、学习重点和基本学习方法作一个总体性介绍,使学生对该课程有一个大致的认识;在课程的每一章开始讲解之前,首先也要明确指出这一章的学习目标,让学生把这个目标贯穿在学习过程中。例如,第一章系统结构的基础理论就是要抓住系统结构的基本概念、系统结构、组成与实现的关系以及软硬取舍的基本原则、计算机系统的设计思路;第四章存储体系的学习目标就是要理解虚拟存储器和高速缓冲存储器的管理方式与原理。如此,学生学习的目的更加明确,更容易抓住学习的重点。
(2)多种教学方式相结合
课堂教学宜采用多媒体教学与传统板书教学相结合的方式。多媒体教学无疑是目前高等院校普遍采用的优秀教学手段,以其形象的图文与特效演示对于加深学生理解知识点很有帮助;而传统板书教学也有其适用的场合,比如在介绍指令系统操作码的哈弗曼编码、发生中断时程序的运行过程以及流水线时-空图画法时就应该采用板书来演示,这样不仅能与学生有良好的互动,还能够更清晰地讲解知识要点。
另外,课外时间可以充分利用网络来强化教学效果,比如,利用论坛教学课件、提供阅读资料,利用电子邮件进行答疑辅导,这些对拓展学生的知识面、提高教学效率很有好处。
(3)启发式教学,注重能力的培养
“系统结构”是一门理论居多的课程,单向灌输算法思想必然不利于知识的掌握。授课时应多采用设计提问,启发思维的教学方法,引导学生自己去发现问题、分析问题和解决问题。
在教学工作中,还要注意培养学生良好的学习方法和自学能力。引导学生在学习过程中不断总结自己的学习方法,学会运用各种手段来获取知识,例如,可以布置学生课外通过查找资料完成有关“系统结构”最新发展的小论文。
三、课程教学改革实践案例
(1)堆栈型替换算法原理的教学案例
在存储体系这一章中,虚拟存储器替换算法的实现是教学的重点,同时也是难点。如果按照教材内容编排的顺序,直接给出抽象的逻辑表达式介绍堆栈型替换算法的定义,势必不利于学生对算法的理解。取而代之,先举出实例,比如使用LRU法对页地址流进行一次堆栈处理,从处理结果总结出主存页数与命中率的关系,由此来说明命中率随主存页数的增加而单调上升,至少不会下降[1],具有这种特性的算法就称为堆栈型替换算法。此时再引出逻辑表达式,将表达式的各个部分与实例相对应,进行归纳,给出堆栈型替换算法的定义,这样,学生就顺理成章地理解了算法的内涵。从教学效果来看,绝大部分学生能够准确地掌握该替换算法的涵义和替换过程。
(2)改进指令系统的教学案例
在数据表示与指令系统这一章中,介绍指令系统设计和改进的两个主要方向时,CISC和RISC是一对需要学生重点理解的概念。前者是按增强指令功能的方向发展指令系统,而后者是按简化指令功能的方向改进指令系统。学生应该了解两者设计思想有哪些不同点,CISC和RISC分别采用哪些基本技术,有哪些典型的应用,它们分别存在哪些不足和问题,为什么说今后的发展应是CISC和RISC的结合。为了说明这些问题,可以让学生自己去查找实例资料,了解IBM 370、Intel i486、IBM6150、Intel i860这几个处理机采用的技术,让他们自己去分析查找答案。通过这种教学方式,不仅加深了学生对知识的理解,而且提高了他们查阅资料的能力。
另外,其他章节也有可以扩展的问题,比如,第7章多处理机的讲解可以结合目前热门的多核处理器,这两者的主要问题是一致的;更进一步地,可以让学生去了解单芯片多处理器(CMP)与同时多线程处理器(SimultaneousMultithreading,SMT),这两种体系结构可以充分利用指令级并行性和线程级并行性,从而显著提高性能。
四、结束语
篇7
1.教学困境浅析
教学困境的存在与我国计算机软、硬件技术落后于美国等先进国家有很大关系。虽然现在我国在超级计算机的设计以及自主知识产权处理器芯片的设计上有了长足进步,但在很多方面还存在差距,有些方面的积累几乎为零。在这样的情况下,高校的计算机教育更需要正视这个现状,并尽力从人才培养这个层面为改善这种落后面貌而努力。
1.1难教的原因
首先这门课对授课教师的要求比较高。教师需要对计算机系统整体设计有很深的理解,通晓软、硬件相关的结构、编译、操作系统等多方面知识,并能将它们融会贯通。而实际上,很少有高校教师真正设计过计算机系统,甚至接触过系统级软件设计的人都比较少。另一方面,找到一本合适的教材也比较困难。最为经典的教材是由美国的Hennessy和Patterson合编的《计算机系统结构——量化研究方法》。这是一本非常好的参考书,但作为教材,对于国内读者来说,由于语言上的障碍,英文版的教材可能不能尽得其妙;而且由于诸多翻译上的弊病,中文版的国外教材也不理想。我国本土教材可能存在着以下几种困境:其一,知识陈旧,系统性不强;其二,近10-20年的技术在阐述上过于抽象,不成系统,难于理解;其三,大而全,有些技术只在特定时期的特定领域出现过,过于冷僻而且复杂,与其他部分的知识毫无联系。
教材的困境也反映了难教的现实。随着新技术的涌现,教材总是落后于现状。并不是说,我们将近年来该领域有影响的论文看一遍,就可将它们拿到课堂上讲。一方面,在众多新技术中,如何甄别出哪些是有发展前景?哪些又只是昙花一现?另一方面,如果未在该领域或方向上有较为深入的研究,要透彻理解这些新的技术也存在困难。如果只是泛泛地讲解新的技术名词,念念论文的摘要,为的是向学生或听课的领导炫耀一下,这可能是一种不负责的做法。计算机系统结构课程需要系统的知识体系,那些无法与现有体系相关联的技术,讲起来益处不大。
1.2枯燥难学的原因
学生难学只能在教师身上找原因。因为没有教不好的学生,只有不会教的老师。原因可能有几个方面:首先,早先选用的教材,知识较为陈旧,50年前的技术离现实较远,学生不知上课讲的东西有什么用,教师讲起来其实也觉无味。这方面大家已经意识到并有了很大的改善;其次,有些先进的技术或算法本身不是很好理解,需要学生集中精力听,并积极思考才能有所领悟;再者,由于计算机系统结构所涵盖的内容过于丰富,教师在讲解时必然会将其简化和抽象,这使得学生在学习时有时会感到枯燥。
1.3解决问题的思路
作为该领域的教师,只有承认困境,正视现实,才有可能找到解决问题的方法。最为重要的是教师要有改善现状的强烈愿望和责任感。下面笔者将从内容组织、教学方法以及教与学互动几个方面给出自己教学中的做法与感受。
2.内容的组织
内容的组织是核心。笔者认为教学过程中真正吸引学生的是内容,因为有意义的教学内容本身就有吸引力。学生对有意义的知识本能地有着较强的学习兴趣,教师只需要将知识系统地呈现给他们即可。
2.1教学内容的内在逻辑性与现实性
关键是教师如何让内容“有意义”且“系统地呈现”。这两点是关联的,一方面,知识与现实要有关联,这样就有了意义和价值;另一方面知识要体现前后的逻辑性,这就是系统性。
比如,对于处理器结构,一般会讲解指令流水线的工作原理、性能分析及流水线相关知识点。而有一些教材在讲指令流水线时,只用伪指令(用算术操作符表示),这部分内容本来就抽象,指令也没有具体的形式,使学生很难理解指令流水线的关键思想。因此首先给出一个精简的MIRS指令集是相当有益处的,当然也可以是任何其他的精简指令集。一方面,学生能够直观地体会前面讲解指令系统设计中诸多抽象的原则,同时也更容易理解在指令流水线中为什么这么设计。在讲解后续指令流水的相关及冲突时,具体的指令形式也有利于教师讲清楚各种冲突问题。只有搞清楚问题是怎么出现的,才可能理解后面的旁路技术或冲突检测方法等;只有对分支指令在流水线中的冲突有了比较直观的理解,后续的静态分支预测、动态分支预测、硬件推测执行等才有可能变得有意义。
在讲完流水线技术的原理、性能评价和冲突及其解决方法后,这一章似乎可以结束了。但是如果在最后加上流水线的实现这一节,会是一个非常好的处理。给出具体的一个指令流水线的数据通路,并给出不同指令在每一流水段的操作,试图引导学生给出旁路检测及控制的方法,通过设计多路选择器的控制信号来理解流水线设计中的旁路实现。这部分内容引领学生直观理解指令流水线的实现,还将前面学习的计算机组成原理中的控制器设计内容联系起来,让设计的计算机更进一步接近现实中使用的机器结构。
互联网络部分内容的组织一直是比较令人费神的,教学效果不好。一部分教材只是介绍了互联网络的基本概念及互联网络的经典拓扑结构等。就算是由美国的Hennessy和Patterson合编的《计算机系统结构——量化研究方法》的第三版,对这部分的组织也不是很好。最主要的问题就是互联网络的范畴非常广,关键是如何在计算机系统结构中介绍其中的互联。计算机网络课程中介绍过的网络介质、报文格式、包缓冲区、拥塞控制等知识,在这里并非用不上,而是在此处大而全地介绍不可能将真正重要的问题讲清楚,篇幅也不允许。所以大而全的讲计算机内部、计算机之间的各种网络以及网络所涉及的方方面面,教学效果并不好,而简单地介绍网络的拓扑结构及其性能参数等又比较抽象,容易让人不知所云,且与整个知识体系关联不大,不能起到将系统的软硬件知识贯穿起来的作用。因此我们可以首先将互联网络的范围限定一下,比如在计算机系统内部组件的互联,以及小、中规模的多处理机系统中的互联,然后将并行问题及并行算法、并行编程提供的通信原语与底层的互连结构相互关联,讲清为什么要这样互联,适合解决什么样的并行问题;讲清当前主流的多处理机系统中相应的数据网络、控制网络及管理网络的结构与软件使用情况。讲清或许存在一点困难,不过起码要将这些知识串起来,并与操作系统及并行编程的相关知识关联起来,这有很大的好处。
2.2拉近课堂与现实研究的距离
笔者认为对新技术的泛泛介绍不是没有意义,但对于高年级的本科生来说,更为重要的是让他们通过上这门课,逐步了解现实科研在哪里,以及与课堂上讲的知识距离有多远。通过教师自身的研究经历,将课堂上讲的知识逐步引到现实科研或本领域当下研究的热点问题中,才是真正有用的。中国科技大学网站上有唐锡南博士的相关讲座,该讲座是针对体系结构方向的研究生及高年级本科生而开的,授训对象都上过系统结构这门课,教学目标是对该课程的掌握作进一步地提高。该讲座在网上反响挺好,笔者比较受启发,也许这对上好计算机系统结构课也是有帮助的。比如在讲多处理机系统中的Cache一致性的问题时,他逐步引到具体实现中的一些困难,问题层层展开,有些问题可能需要一些手段来解决,有些问题恐怕还是难题。学生学习最重要不是学到答案,而是学会发现问题在哪儿以及解决问题的思路和方法,当他们了解到该领域前沿的研究思路时,必将增进自己未来解决问题的信心。比如,在讲多处理机系统时,从相应原理开始讲解,然后是现实硬件实现中可能有的变化及原因、并行软件运行中出现的问题,最后将硬件追求卓越性能与软件要求正确性及友好性的冲突展现在学生面前,再说明软硬件相互依存的道理,这比直接说明软硬件关系具体而生动,听起来也有趣。简明地讲清问题之间的关系,解决的程度,未解决的问题及难点所在,这对于开阔学生思路、增加学生对该领域探索的兴趣都比较有效。
3.变化的教学模式
传统的教学模式并没有过时,但有时新的模式可以发挥更好的效果。其次,一成不变的讲课模式从学期开始直至学期末容易令人厌烦,所以探讨变化的教学模式对于提高教学效果显然是有意义的。
3.1实践环节的介入
实践环节可以与课堂讲授相互穿插,不需要将理论部分全部讲完再安排。比如讲流水线及指令级并行时,适时地将相应的指令流水线的模拟器介绍给学生,让他们去体会指令的时空概念以及指令问的各种相关的影响,教师辅导时多问学生为什么。再比如讲存储层次时,Cache优化技术是其中比较重要的内容,这时也最好让学生实际使用相应模拟器去测,通过改变其参数来比较相关性能,可以引导学生通过分析复杂系统模拟器的结构来了解相应原理,或通过实现过程相对简单的模拟器来体会实现过程中的细节问题,这些都是比原理本身更为有用的学习体验。
3.2难一点的议题留给讨论课
对于高年级的本科生来说,他们的精力相当旺盛,自身的学习能力也比刚入学时强很多。此时将一些需要思考、理解的内容交给他们自学和交流,其效果可能会令人大吃一惊。通过自学,很多学生在课下花了不少功夫,并在学生间进行了充分的讨论和互助。课上讨论时,可以让学生主持,这会让学生兴奋,而且下面的学生往往很活跃,想通过为难一下上面的学生来展示一下自己。每一位学生其实都有着相当强的自尊心,所以这种形式会促进学生问的讨论。经验表明,往往平时表现一般的学生这时都有相当好的表现,他们自己也比较自信。如果学生说错了,不要马上说出来,而是将问题解析一下再次抛给大家,看看大家有什么想法,慢慢地大家都比较放松,让问题在讨论中逐步接近解决。
这样的讨论模式有时也会出现教师无法预料的情景,比如学生提出一些教师也未考虑过的问题,此时可能会给教师带来一些紧张感。遇到这种状态时,教师首先可以凭借平时深入的备课,稍作思考(可能5~10秒),问题可能就得到可以解决。这时讨论就变得更为引人入胜,学生的积极思考实际影响了讨论的导向,这种情况没什么不好。教师要有承担风险的勇气,同时还可享受到当堂弄清某些事情的兴奋。另一方面,教师需要逐步积累处置这种情景的经验,自己要意识到,同时试图让学生也意识到,有一些问题需要仔细的考虑,并不能马上得出结论,还有一些问题是一些开放的问题,并且承诺关于此问题教师经过一些时间的思考(可能一个课间休息,或下一次课)后,一定会给大家一个负责任的答复。这样学生会觉得讨论有趣,不会害怕犯错而拘谨;教师也在这个过程中感受到学生更为积极的学习状态,并因此受到鼓励。
4.了解并督促学生
教学的过程是教师与学生互动的过程。教师的每一次教学过程都不会一模一样。他要根据教学对象的不同,做出相应的内容调整,也要根据每堂课学生的状态做出相应的节奏调整。只有学生能够接收、愿意接收,教学才可能有效。
篇8
中国分类号:G642
文献标识码:B
1两门课程的开设情况
“计算机组成原理”是计算机专业本科生必修的重要核心硬件基础课程之一。计算机专业本科生都会开设该课程。该课程从单处理计算机系统的概念出发介绍硬件和软件两部分,其硬件部分主要包括运算器、控制器、存储器、输入设备和输出设备五大功能部件,通过总线构成一个完整的硬件系统。通过学习本课程,学生能建立清晰的“整机”概念,能够掌握计算机的一般组成原理和内部运行机理。
“计算机系统结构”是计算机及相关学科的专业基础课程,是计算机硬件与结构方面重要的一门课程。部分应用技术型计算机专业本科生没有开设该课程。我们学校就没有开设。该课程主要研究软件、硬件功能分配和对软件、硬件界面的确定,即确定哪些功能由软件完成,哪些功能由硬件实现。从总体结构和系统分析这一角度来研究计算机系统。本课程的学习目的是建立计算机系统的完整概念,学习计算机系统的分析方法和设计方法,掌握新型计算机系统的基本结构及其工作原理。
2国外相关教材内容
目前国外有很多类似教材包含了近乎两门课程的教学内容。美国计算机专家William Stallings编著的世界著名计算机教材Computer Organization and Architecture :Designing for Performance(Seventh Editon)是介绍当代计算机体系主流技术的最新技术的优秀教材。该书以Intel Pentium 4和IBM/Motorola PowerPC作为考察实例,将当代计算机系统性能问题和计算机组织与体系结构的基本概念及原理紧密联系起来。主要内容有CPU性能设计、指令流水线、整数和浮点算术、微程序设计的控制器;RISC处理器和超标量处理器;最新的IA-64体系结构和Itanium处理器;PCI新型系统总线规范;cache存储器组织、cache一致性问题和MESI协议;包括行总线和最近研发的InfiniBand;最后是多个处理器的并行组织,包括对称多处理机、机群系统、非均匀存储器存取(NUMA)系统。
3两门课程的比较和整合
应用技术型本科计算机专业课程的设置应做到面向市场、灵活有效,要对教学内容进行精选,把体现当代科学技术发展特征、多学科知识交叉与渗透的趋势和动向反映出来。整合后的内容如下表所示。
整合后的实验主要是运算器及设计实验、存储器及设计实验、控制器及设计实验、系统总线控制实验、模型计算机实验等。
整合后的课程设计主要是设计指令系统实现基本模型计算机、基于CPLD的模型计算机、基于RISC处理器的模型计算机、基于重叠技术的模型计算机、基于流水线技术的模型计算机等。注意根据课程进度进行相应的具体的实验项目,此外还要兼顾先简后难。可以先进性简单的验证式实验,然后稍有难度的设计性实验,最后是较大难度的综合性实践。
参考文献
[1] 钟荣柏. 应用型本科计算机专业课程体系的探讨[J]. 科教文汇,2007,(4).
[2] 王忠华,屈会芳. “计算机组成原理”课程教学的改革与实践[J]. 电脑知识与技术(学术交流),2007,(13).
[3] 柴志雷. “计算机组成与体系结构”教学初探[J]. 考试周刊,2007,(27).
篇9
1使用应用程序完成特定任务的计算机用户成为最终用户
在最终用户眼中,早期的计算机非常昂贵,只能由少数专业化人员使用。但是到了20世纪80年代个人计算机迅速普及,以及20世纪90年代初多媒体计算机的广泛应用,特别是互联网技术的发展,计算机已经成为了人们日常生活中的重要工具。计算机最终用户使用键盘和鼠标等外设与计算机交互,通过操作系统提供的用户界面,启动执行应用程序或系统命令,从而完成用户任务。因此,最终用户能够感知到的只是系统提供的简单人机交互界面和安装在计算机中的相关应用程序。
2计算机在系统管理员眼中的存在
系统管理员作为管理和维护计算机系统的专业人员,相比于普通的计算机最终用户而言,对计算机系统的了解要深入得多。必须能非常熟悉操作系统提供的有关系统配置和管理方面的功能、系统管理员必须能够解决,很多普通用户解决不了的问题,还要必须能安装配置、维护系统的硬件和软件,能建立和管理用户账户,需要时能够升级硬件和软件,备份和恢复业务系统和数据等,软件配置和系统管理层面以及相关的使用程序,系统管理员能感知到的是系统中部分硬件层面,以及相关实用程序和人机交互界面。在开发操作系统,编译器和实用程序等系统软件时、需要能够熟悉计算机底层和相关硬件和系统结构,甚至还需要直接与指令系统和计算机硬件打交道。比如:“对各种控制计算器I/O接个口、用户可见集成器直接进行编程和控制、所以系统程序员有时还要直接用汇编语言等低级程序,设计语言编写程序代码,必须熟悉指令系统、及其结构和相关几期功能特性”。
3计算机在应用程序员眼中的存在
计算机系统除了计算机硬件、操作系统提供的编程接口(API)、相应的程序语言处理系统和人机交互界面、还包括实用程序,这是应用程序员所看到的计算机系统。高级程序设计语言(High level programming language)是指面向算法设计得较接近于日常所用的英语书面语言的设计语言,例如BASC、C、FORTRAN、java等,所以大多应用程序员使用高级程序设计语言编写程序。
4系统程序员的程序开发与执行过程
程序的开发和执行设计计算机系统的各个不同层面,因为计算机系统层析话结构的思想体现在程序开发和执行过程的各个环节中。程序开发通过程序编辑软件得到hello.C文件。Hello.c在计算机中以ASCII字符方式存放。然后再将hello.c进行预处理、编译、汇编和连接,最终生成颗执行代码文件。
计算机的控制器自动执行的是指令,每条指令由操作码和地址码两部分组成,操作码是指出操作类型,地址码之处操作数的地址。执行程序世纪上是执行一个指令序列。也就是说不管用什么高级语言编写的程序都能够转换为一个指令序列才能在计算机上执行。任何高级语言源程序和汇编语言源程序都必须转换为机器语言程序才能被计算机执行,通常这种进行转换的软件被称之为“程序设计语言处理系统”。应用程序员和系统程序员都是借助“程序设计语言处理系统”来开发软件。任何一个语言处理系统,都包含一个翻译系统,它能够把一种编程语言表示的程序转换为等价的另一种编程语言程序。翻译程序有以下三类。
(1)汇编程序:也称汇编器,涌来将汇编语言源程序翻译成机器语言目标程序。
(2)解释程序、也称计时器,涌来将源程序中的语句按其执行顺序逐条翻译成机器指令必过立即执行。例如,BASIC解释程序直接气功BASIC源程序执行,不生成目标程序。
篇10
当前,随着物联网技术和产业的持续发展,嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一,被广泛应用于网络通信、消费电子、医疗电子、工业控制和交通系统等领域。资料显示,在2009年中国软件业收入的9513亿元中,嵌入式占了将近20%,而且每年都以近40%的速度增长。嵌入式系统是以应用为中心的软硬件混成专用计算机系统,需要设计人员统筹考虑软硬件设计,以最大限度地适应应用系统对功能、成本、体积、功耗、可靠性等方面的要求。传统的软件、硬件分别进行的设计方法难以满足嵌入式系统的设计需求,而需要设计人员进行软硬件的综合考虑和协同设计。
然而和上述趋势对应的是,目前计算机类本科专业软件方面的教学和实践都实施得较好。学生除了课堂学习外,还可以利用学校和自己的计算机充分进行软件编程的实践和训练。而且软件类课程C语言、数据库、网络等相对直观和容易理解,容易入门。但对于硬件类的课程尤其是计算机组成与系统结构,学生普遍反映内容较为抽象,如果没有适合的实践环节将课堂概念和实际工程联系起来,学习效果将难以得到保障。因此,探索适合计算机组成与系统结构的实践教学工具、教学方法和配套机制,加强学生理论学习和实践环节的联系,建立形象直观、便于理解的学习途径至关重要。本文重点讨论江南大学计算机组成与系统结构的实践教学实施现状,在此基础上提出改进方向,为增强计算机组成与系统结构的教学效果作有益探讨。
二、《计算机组成与系统结构》实践教学现状分析
当前国内计算机类本科专业硬件主干课程设置有两种模式:一种是数字逻辑与数字系统(技术基础课)计算机组成原理(专业基础课)计算机体系结构(专业课)。大多数重点院校采用这种模式。另一种是数字逻辑与数字系统(技术基础课)计算机组成与体系结构(专业基础课)。江南大学及国内其他许多本科高等学校采用第二种课程设置模式。
《计算机组成与系统结构》课程综合了《计算机组成原理》和《计算机体系结构》两门课程的要求,要求学生掌握计算机系统各个部件的组成原理,最终从系统、整机的角度理解计算机的结构与组成,是计算机类本科专业的专业基础课程,以及计算机硬件与结构方向非常重要的一门课程。这门课程的建设与教学质量直接关系到人才培养中计算机硬件与结构方向教育的成效。尤其是在当前嵌入式系统日益流行,软硬件一体化设计需求不断扩大的背景下,计算机组成与系统结构课程能否达到预期效果显得更为重要。
目前在教学实施过程中,学生普遍反映该门课程内容较为抽象,难以和一个具体的可见的系统相联系理解整个的运行过程,学习效果欠佳,依然停留在为应付考试的习题练习为主的方式上,通过课程的学习无法锻炼搭建完整电路系统的能力。这些问题急需通过实践环节有针对性地解决。
传统的计算机组成原理采用的实验设备是在开放的电路板上用插线的方式搭建逻辑,学生通过将对应的引脚互联起来构成特定的数据通路。这种方法无需编写程序,可以直观地显示计算机内部结构和运行情况,但对学生的影响仅仅停留在实验室阶段,不能和企业的实际开发相结合,没有更多的实用价值。
随着硬件可重构技术的发展,越来越多的计算机组成原理实验课采用了基于FPGA的实验装置。基于FPGA的优点在于学生可以通过自己的逻辑设计得到专用芯片,并通过实验板上的I/O观察芯片的运行情况,更接近实际CPU的运行状态。目前,根据不同学校学生能力的强弱,基于FPGA的组成原理实验采用了两种不同的输入方式。
一种是基于原理图的设计方式。学生通过连接原理图的方式,构成自己想要的逻辑电路。将该电路下载到FPGA芯片后构成特定的芯片,通过实验板上的I/O观察芯片内部的运行情况。这种方式的优点是直观、易于理解。缺点是随着系统变得更加复杂,原理图输入的方式耗费时间太长,连线也容易出错,不太可能用于搭建复杂的系统。
另一种是基于硬件描述语言VHDL/Verilog的设计方式。优点是可以利用现有的资源搭建较为复杂的系统,甚至多级流水线的CPU,可以极大地提高学生的硬件设计能力。缺点是对学生的要求比较高,需要有硬件描述语言的基础。
三、《计算机组成与系统结构》实践教学工具的选择
通过上述分析,可以看出基于硬件描述语言和FPGA的组成原理实验方式由于可与将来的企业实际开发相结合,具有较强的实际意义。学生可以通过VHDL搭建复杂和完整的硬件系统,对于理解计算机组成原理和计算机的运行情况有非常现实的意义。关键问题是,应该如何选择适当的基于FPGA的开发环境和教学方法,以适应不同水平的学生的具体需求。
由于现在基于硬件描述语言已有许多公开源代码的资源可以加以利用,因此在进行计算机组成与系统结构教学和实践中,可以围绕某一种有代表性的CPU进行学习和实验。如国内外有一些学校选择以MIPS处理器作为教学和实验的对象。学生可以根据自己的掌握程度借鉴或自己设计某个模块,最终形成完整的CPU。同时还可以在此基础上通过汇编程序进行系统结构的实验。通过这样的方式,学生可以将课堂讲解的内容完全与实际的CPU系统关联起来,从而为将来的硬件系统设计奠定良好的基础。而且由于所选用的开发语言和环境都和企业实际使用的一样,可以缩短将来的工作中的学习时间。
四、《计算机组成与系统结构》实践教学机制探讨
选定了适当的实践语言和工具之后,还要有适合的配套管理和运作机制才能保证实践教学的效果。现在传统的实验室都是学校购买设备后由实验室人员管理和维护,并配合任课老师在上课时间为学生提供实践教学服务。由于实验设备数和上课时间有限,学生并不能完全完成和理解实验内容。因此,我认为可以采取多种方法改善这一状况。
1.Xilinx/Altera等FPGA提供商建立联合实验室,随时可获得提供商提供的一些最新资料和技术服务,同时确保实验室可以在课外对学生开放,可以借鉴以往机房的管理方式,让感兴趣的学生付费使用设备。
2.为学生配备或鼓励学生购买低价FPGA设备,将实验室带回宿舍,随时可以进行FPGA系统的开发和调试。
3.企业建立培训协议,抽出整段时间送学生到专门的FPGA企业进行集中强化训练,积累实际项目经验。
将上述几种方法相结合,可以使计算机系统设计课程的学习效果达到现在软件开发的学习效果,为嵌入式系统软硬件的开发培养合格的人才。
五、结语
本文分析了江南大学《计算机组成与系统结构》课程的实践环节教学的现状和存在的一些具体困难,并从几个方面提出了应对方案。当然,这些方法依赖于计算机组成与系统结构考核方式的相应改变。只有在教学内容、实践形式和方法、体制和具体实施等多方面协调一致,整体推动,才能取得预期的结果。
参考文献:
[1]任春明,刘军.计算机组成原理实验教学的思考与改进.实验技术与管理,2006,10.
[2]李彩虹,屈志毅,刘刚,马俊.“计算机组成原理”实验课教学模式探讨与实践.高等理科教育,2006,2.
[3]陈媛,黄贤英.基于EDA技术的计算机组成原理实验教学探索.重庆工学院学报(自然科学版),2007,2.
篇11
数据库系统作为计算机体系结构的重要组成部分,其在构成上主要以数据库、计算机系统、管理系统以及应用程序等为主。其中各部分功能的发挥都可能对数据库系统产生影响,如数据库系统需由计算机系统进行硬件环境的提供,而数据库负责数据的存储等。因此,如何做好数据库系统的优化成为现行计算机体系结构完善中需考虑的重要内容。
1 计算机体系结构的相关概述
关于计算机体系结构,其实质为系统元素的集合,在集合内系统元素能够协调配合的基础上,便可根据预先定义目标完成信息处理过程。常见的系统元素主要有计算机硬件与软件、数据库系统、文档以及人员等方面。其中硬件负责电子设备或机械设备的提供以使得计算机能力以及其他外部世界功能得以实现;而软件可作为文档、数据库与程序的稽核,提供计算机运行中需要的逻辑方法;数据库则用于集合所有软件访问的信息;文档用于描述计算机系统中的所有图形、表格等信息。现行在Internet网络普及的背景下,要求计算机体系结构在完善过程中能够做到对各类型信息资源进行输入、输出以及管理,而这些信息资源管理活动的开展便需依托于数据库系统,其是计算机领域中发展极为迅猛的技术,同时也是保障计算机体系结构作用发挥的关键部分[1]。
2 数据库系统在计算机体系结构中的具体体现
计算机体系结构中,数据库系统的应用主要体现在四种模式,包括分布式服务器系统、服务器模式、工作站模式以及终端模式等,各种模式在整个计算机体系结构中应用的效果也存在一定的差异。在网络技术快速发展的背景下,现今计算机体系结构中数据库系统模式又倾向于web服务器模式。实际应用中,以往四种数据库系统模式即表现出明显的优势,也存在许多弊端,具体体现在以下几方面。
2.1 从主机/终端模式角度
该模式是计算机体系结构中应用的最早结构模式,其结构具有明显的集中式特征,要求在主机上进行数据库以及管理系统的设置,其他相应的应用程序也需在主机中体现出来。但这种模式下,数据信息共享性极差,仅用户终端能够进行数据的使用,若需对数据库进行访问,要求用户采取拨号形式或利用本地终端以获取需要的数据。其中的本地终端大多不具备数据处理能力,仅以通信软件、键盘与显示器为主。然而不可否认,这种集中式的系统结构对于存储设备中数据区能够安全处理,不同类型的并发用户都可为该结构所支持。从其应用的弊端看,主要表现在系统维护较难,计算机体系结构本身在硬件、软件等耗费较多成本,加上数据库体系结构中的终端系统成本与维护费用,将使计算机应用难以获取应用的经济效益。另外,该模式应用下,网络性能完全取决于主机性能,若有多个用户共同联网,计算机系统的整体性能将表现出明显的下降趋势[2]。
2.2 从文件服务器/工作站模式角度
该模式应用下主要需在计算机体系结构中文件服务器处进行管理系统的设置,在所有PC工作站中都有相应的处理程序存在。一般文件服务器在功能上更侧重于接收与发送文件,并将共享数据向用户提供,但在协同处理方面却较为缺失。事实上,从计算机系统运行中便可发现,即使文件服务器具备较为明显的运行速度优势,但PC中数据库管理系统处于运行状态时仍会限制文件服务器的性能。而且文件传输过程中多以整个文件为主,一旦数据库访问用户数量增加时,传输量也将随之上升,系统运行因此受到影响[3]。
2.3 从客户机/服务器模模式角度
对于这种服务器模式,其主要在服务器处设置数据库管理系统,服务器端与客户端都可利用管理系统进行数据处理。相关的数据处理或数据存储等,可在管理系统运行于服务器端时实现,而在处理输入或输出问题以及屏幕交互时,要求管理系统运行于客户端。此种数据库系统模式在优势上主要表现为能够利用两个系统完成数据的处理,无需考虑系统难以承受过大信息流量的问题,且在维护管理或系统升级中不会耗费过多的成本。而且使数据库管理系统在服务器端或客户端运行时,也可使计算机整个系统的性能得以提升。但该模式应用过程中也表现出一定的弊端,如数据库需保持一定的独立性,为用户使用带来较多难题,如企业中各部门应用数据库时如何做到数据库关联等。因此,计算机体系结构中数据库系统的应用需考虑到引入“无缝隙”访问技术,典型的如分布式处理技术等[4]。
2.4 从分布式系统角度
相比前几种数据库系统应用模式,分布式数据库强调同一系统中数据保持一定的逻辑关系,并在整个计算机网络中使数据在不同节点处分布。实际应用中,为保证用户能够远程获取数据信息,不同位置服务器都需将数据库管理系统设置其中,用户数据获取时如从本地数据库系统一般,直接将请求数据向数据库服务器中发送,若服务器中未寻找到用户数据,可直接通过网络将用户请求向其他数据库服务器中发送,完成信息搜索后会将相应的信息传输给用户,大多情况用户都难以判断是哪个数据库服务器为其提供的数据信息。因此,这种模式的应用可满足现代企业需求,对于解决远程数据传输与共享问题可起到明显的效果[5]。
3 优化数据库系统的相关建议
现行数据库系统为适应计算机技术快速发展步伐,除采取分布式数据库系统模式外,也将Web技术融入其中,许多数据库厂家多采取数据库管理系统与Web技术相结合的方式,使数据库内容检索仅需通过Web浏览器的访问便可完成,对该类型数据库系统可称其为Web数据库系统。为使数据库运行效率进一步提高,在数据库系统优化过程中需做好系统框架的设计,优化数据库的同时考虑数据对连接池进行优化,具体优化策略主要表现在以下几方面。
3.1 系统框架设计的思路
系统框架设计过程中首先考虑系统结构问题,从计算机体系结构中传统数据库系统结构的应用现状可发现,其中存在弊端不仅制约系统整体性能的提高,而且易产生过多的成本。对此,在系统结构设计上可选取B/S结构,其优势主要表现为:①客户端负载问题得以解决。如C/S结构下,数据处理功能、显示功能都需由客户端负责,承受的负载较大,特别当前客户端应用程序不断增加的背景下,客户端的有效运行更面临较多难题。此时将B/S结构引入其中,服务端会承担部分客户端的数据处理任务,许多数据访问或计算都可在服务端完成;②兼容性较高。该结构下主要以JSP为前端界面,将Java语言融入后可使服务器执行压力得以缓解;③灵活性较强。B/S结构下各层都以独立的形式存在,即使其中一层出现异常也不会对整个系统产生影响;④维护成本较低。由于该结构应用下需将浏览器安装于客户端中,服务器可完成相关的系统升级或维护工作,不会对客户端产生影响,有利于维护成本的控制。本文在系统框架设计中考虑在B/S结构应用的同时,使其与传统C/S结构以及web技术相结合,以此构建集数据库、服务器以及浏览器于一体的结构体系,将其称为B/S/S结构体系。
框架设计中还需做好开发语言以及数据库连接的充分考虑。其中在开发语言选择方面,现行较为常见的主要以PHP、JSP以及ASP为主。相比之下,为满足数据库系统优化需求,要求开发语言应以简洁高效、便于移植等特征为主,所以可将JSP作为系统开发语言。而从数据库连接角度,应用较为广泛的技术主要以JDBC为主,但需注意的是该技术应用时要求数据库使用后保持断开,一旦数据库连接过多将导致内存发生泄漏,甚至使服务器瘫痪。这就引入连接池技术,将JDBC访问技术下的弊端进行解决[6]。
3.2 数据库的进一步优化
为适应计算机体系结构要求,数据库系统优化中首先需考虑数据库设计问题。以SQLServer数据库优化为例,设计过程中主要需在解决逻辑库规范化弊端的基础上进行物理数据库的生成。其中逻辑库规范化弊端方面,可采取将重复属性、计算字段等融入数据库实体内。但应注意设计中往往易出现数据库历史记录保存问题,因历史记录使用频次较少,所以需分离历史数据与其他访问数据。而物理数据库生成方面,要求对计算机体系结构中的硬件资源、数据库访问格式进行判断,在此基础上利用数据行的设置使I/O操作得以减少,或直接对SQLSever利用同一物理设备存储图像或文本数据,可使系统性能得以提高。
其次,应做好调整硬件工作。调整中如在磁盘子系统方面,通常数据库系统中应用的磁盘驱动器极易出现超载问题,影响系统性能,对此可考虑增设磁盘驱动器,可保证I/O子系统性能问题得以解决。而在内存方面,通常提升数据库性能的方式主要以物理内存的增加为主,但这种方式涉及的成本较高,应考虑对数据库实际内存进行优化配置,如对其内存数值的调整等。
最后,做好SQL语句与查询计划的优化。在优化SQL语句中,主要要求避免SELECT*语句、DISTINCT的使用,二者都可能使数据库应用逻辑出现错误,同时对于其他非操作符聚以及ORDER BY等应正确使用。另外,在查询计划优化方面,需保证索引、主键、连接、临时表等能够正确使用。在SQL语句以及查询计划得以优化下,才可使数据库系统性能得到提升[7]。
3.3 连接池的优化
连接池在数据库中的应用主要使缓冲池中融入相关的物理连接,这样在数据库访问过程中用户可直接进行数据库连接的获取,且在连接使用结束后,可将其重新置于连接池中,无需执行关闭连接操作,这样数据库的访问效率将得到很大程度的提升。具体构建连接池过程中,可直接由服务器进行连接池的提供,或采取JDBC连接池。实际上,现行大多服务软件中多将连接池直接设置其中,仅需保证使用效果得以发挥并做好管理工作既可。另外,连接池在优化中还需考虑到参数设置问题,如其中最小或最大连接数,其设置不合理很可能造成系统资源被过多占用,访问效率也因此被降低,连接池整体性能因垃圾信息过多而受到影响。所以在参数的设定是连接池优化中需考虑的重要问题,常见的方式主要引入相应的测试工具,通过反复测试以使参数值更为合理[8]。
4 结论
数据库系统的优化设计是完善计算机体系结构的重要途径。实际优化设计过程中应正确认识计算机体系结构,分析计算机体系结构中不同数据库系统模式应用的优势与弊端,在此基础上提出Web数据库系统。对该系统实际优化过程中要求做到设计具体的系统框架,从数据库设计、调整硬件以及优化查询计划以及SQL语句,并注重连接池的构建,以此使数据库整体性能得以提高,发挥其在计算机体系结构中的重要作用。
【参考文献】
[1]马亚明.嵌入式空间数据库理论与技术研究[D].信息工程大学,2011.
[2]李尚勇.有色金属热力学数据库的计算模型与架构体系研究[D].昆明理工大学,2012.
[3]李志刚.空间信息技术在矿区可持续开发与管理中的应用研究[D].成都理工大学,2012.
[4]于永强.计算机数据库系统在信息管理中的应用研究[J].黑龙江科技信息,2011,03:82.
篇12
文章编号:1671-489X(2015)22-0017-04
1 引言
计算机组成原理和计算机系统结构(也称体系结构)是大多数计算机类专业的基础硬件类课程,对于很多学生来说,也是两门比较惧怕的课程。除了课程内容包含较多学生看来枯燥乏味的概念、电路、算法和原理之外,有些知识点相对陈旧,一些描述模糊不清,引起学习者概念混乱甚至不明所以,更加打击了学习兴趣和热情。这导致一部分学生畏惧甚至厌烦这两门课,连带惧怕需要动手和实践的其他硬件课程,“欺软怕硬”成为较为普遍的现象。这对于计算机相关专业学生系统性地掌握计算机知识,毕业后成为适应社会多方面需要的有用人才无疑是不利的。
2 关于组成原理和系统结构的课程安排
这两门课程,计算机系统结构讲述的是概念性的体系和功能,站在软硬件分界面的角度讨论计算机硬件的结构性框架如何搭建;计算机组成则从经典的冯・诺依曼五大部件入手,分析计算机硬件组成的具体内容,包括示例性的逻辑电路和二进制算法,来讲述计算机的基本工作原理。两者站在不同的视角看待硬件问题,难免会有重叠。因此,有些学校两门课分开上,有些学校合并成一门课;国内的一些出版单位也顺势推出一些合并课本,或者干脆直接取名叫做“计算机组成原理与体系结构”,两门课程各选取了一些核心内容组在一起,搞成一个混合版本。
笔者认为这种课程合并适合一些高职高专类的院校,对于计算机类本科专业而言还是存在问题的,如学时安排方面的问题。组成原理是考研课程,要讲述透彻则学时数必须得到保证,加上实验,总学时需要60以上。体系结构重点放到流水线、多级存储层次、多处理机并行计算等现代计算机广泛采用的新技术,要想讲解清楚一般也要40学时左右。两者合并,如果学时数不能得到保证,其结果是两部分内容都讲不好;而如果一味扩大学时数,如扩充到80学时以上,又会给学生造成相当大的心理负担。本来硬件课程就是拦路虎,这样一个超大学时的硬件专业课不会有良好的教学效果。
多年前也曾经合并做过,效果并不好,后来又改回到两门课程分别开设,依据传统,先讲组成原理,紧接着一个学期开设系统结构。但现在面临一个问题:内容的取舍。很多经典的组成原理课本不知从什么时候开始夹杂很多流水线和高速缓冲存储器的内容,部分课本甚至还有多处理机方面的。这些书的作者可能想适应那些合并开课学校的用书想法,所以开始大幅增加原本属于系统结构课程中的内容。
另一个方面,考研的组成原理大纲确实包括了流水线、多级存储层次和多机系统,也就是说考研课程名虽是组成原理,实际却包括了两门课的知识点。从这个角度看,这些组成原理教材增加的篇幅包含这些内容也是合理的。问题是,上组成原理课程时怎么应对这些原本下学期才要讲述的系统结构课程中的内容?
武汉工程大学是多校联合的考试联盟出题,为了和考研内容一致,所以题目中有很多系统结构的内容。原本按照课程顺序,这些知识点都是下一学期才应该讲述的,但是为了考试,又不得不囫囵吞枣提前讲解,导致学生考试结果不理想。为了避免这种混乱,能否先讲述体系结构课程,然后讲述组成原理呢?从内在联系来看,组成原理可以看作体系结构的逻辑实现,因此先讲“干”再讲“枝”应该也行得通,涉及器件组成、数据通路、指令、二进制、中断机制等组成原理中详细讲解的部分,可以讲最基本的原理,能辅助课程理解就行。这样改变传统排课次序的做法能不能收到更好的效果?准备进行尝试。
3 CPU部分的讨论
CPU的内容很多,两门课都有大量涉及,以下讨论不再和课程挂钩,只说明哪些内容值得商榷。
CPU的发展和兼容 第一代电子管计算机,第二代晶体管计算机,这个没什么疑问;第三代、第四代都是对应集成电路,只是规模不同,量变引起质变,划到下一代也能接受;而关于第五代计算机就值得推敲了,到底第五代计算机是什么?一些教材把它划归到超大规模集成电路中去,笔者认为不妥,其实学术界从20世纪90年代就在呼唤第五代计算机,但是并没有明确是什么,而是等待采用全新技术或者全新材料的计算机问世,普遍认为光子、量子、超导、生物这几个方面有可能诞生出第五代计算机出来,遗憾的是现在仍然都处于研究阶段,所以关于计算机的划代应该到四代为止。要让学生明白,科学的发展有和低谷,过10~20年强行划分新一代来说明计算机的进步没有意义,因为集成电路不能一次次由量变引发质变!
关于发展过程中的兼容,也很难明确,就拿向前和向后兼容来说,站在机器的角度来说,后面的机器能运行前面机器的软件,应该叫向前兼容,但是站在软件的角度来说,前面开发的软件要能在后面出现的机器中运行,则又成了向后兼容。两者实质上是一回事,却可以有两种说法,如果出题讨论兼容性,学生该怎么给出答案?
运算方法 各种码制、定点数、浮点数可以详述,这些是基本的,对于以后实际使用和各种编程都有好处;加减法和溢出概念作为了解计算机内部的运算原理,也可以让学生掌握;但是乘法和除法,特别是两位乘以及除法的余数校正这些东西,学生要费很大力才能弄明白,一个月后就一定会忘记得干干净净。这些属于技巧类的算法还是不要占那么多篇幅介绍为好。一些课本不再讲述各种进位制的转换,笔者认为不恰当,作为初接触二进制的学生而言,搞清各种进位制及其转换是很有必要的,至少比两位乘法或者加减交替做除法重要得多。
寻址方式 很多学生一直到毕业也没弄清寻址方式,这部分内容应该把那么多纷繁的名词简化。举例来说,基址、变址、索引、缩放、偏移、自增、自减,再加上直接、间接、相对寻址等,这些本来都是针对存储器的寻址方式,弄出这么多名词来学生不头疼才怪。其实寻址完全可以简单明了做介绍,而不拘泥于这些奇怪的名词上:数据可以在三个地方出现,分别是指令中、寄存器中、存储器中;前两种叫做立即数和寄存器寻址,第三种则区分为直接地址和间接地址,只有间接地址可以变化多端,其中基地址加上偏移量组合是最基本的形式。
关于微程序控制器 当今CPU还有多少使用微程序控制器的?即使是CISC也变脸为硬件解码后送入内部长长的类似RISC的管线系统。作为训练和实践控制器部分的手段可以讲述,毕竟一个硬逻辑的控制器很难实现,但是关于水平的、垂直的微程序甚至毫微程序这些概念还是尽量简化吧。这里面有很多难题、怪题,各种字段的分解与组合作为考试的手段也应该点到即止,毕竟谁都不会去真正设计一款复杂的微程序控制器。
4 存储器部分的讨论
主存典型芯片 还在用2114、4116作为芯片实例?对这些旧货市场都不一定买得到的东西进行详细分解,其古怪的时序、简陋的内部组成结构占据了大量篇幅,为什么不用现在市场上仍在普遍使用的简单8位或者16位存储芯片举例呢?如27系列ROM、62系列RAM。而高性能存储芯片的介绍也停留在20年前的SDRAM、早已淘汰的RDRAM/CDRAM,要知道现在已经是DDR4的时代了。
辅存 还在大力介绍软盘,甚至是8英寸软盘,而市场上3.5寸的最后一代软盘都找不到了,8寸的软盘估计博物馆里面也难得一见。磁记录的编码方式似乎也没有讲解的必要,归零制、不归零制的编码方式过时不说,实在和计算机的软硬件组成都没有太大的关系。关于硬盘方面的先进技术介绍,停留在几个G的容量、几十KB的缓存,以及IBM硬盘、昆腾硬盘等这些不知消失多久的产品上,感觉又回到了20世纪90年代。
Cache和虚存 作为两个同等重要的存储层次,讨论却都主要集中在前者,后者的重要性没有得到体现。改进Cache失效率的措施花了大量篇幅,其中有些措施根本没有任何实用价值。而编译器优化和软件控制的预取等内容本就不属于体系结构所要关心的,其算法和编程原理同样占用很多宝贵的篇幅。关于Cache技术所举的实例采用的都是20年前的芯片技术,虽然相对简单易懂,却也处于和8086在微机原理课程中作为示例CPU一样的尴尬地位。
5 I/O和总线部分的讨论
总线结构和标准 单总线、双总线、三总线甚至四总线结构的讨论,繁琐、过时且相互矛盾。就拿三总线来说,数据、地址、控制总线是三总线,局部、系统、扩展总线也是三总线,还有主存、I/O、DMA总线又是一种三总线。介绍过时的ISA、EISA、VESA乃至AGP总线有价值吗?最关键的一点,很多教材花大篇幅介绍这些淘汰技术的同时,不去直面它们的落后和淘汰的现状。不是说淘汰的技术不能介绍,作为人类曾经的技术结晶和科技历史,有必要让学生了解,但是应该把握两点:一是篇幅要小;二是明确告诉学生,这些东西都已经成为历史。
总线判优与控制 集中式判优中的链式查询和计数器定时查询究竟在什么时候什么场合出现过总应该提及一下。说独立请求方式响应最快也没有说服力,和链式查询相比较都是全硬件信号,快慢就看谁的逻辑复杂,独立请求方式一定最快的根据并不充分。
同步控制和异步控制以及串行和并行方式是总线控制的两个主要内容,应该针对具体的总线实例加以分析。一些习题或者课本说同步比异步方式快,或者并行方式比串行方式快,笔者认为这些都是欠妥的,当今高速异步串行总线的带宽有目共睹。总线的快慢,和是否串并行、是否同步异步没有直接的对应关系。
I/O接口与设备 很多查询、中断、DMA等接口电路的组成都给出实现的电路图,这些图在实际应用中不会采用,对学生而言复杂晦涩,他们还错觉地认为这些电路才是标准的I/O接口。其实实现接口的方式和原理有多种,详细介绍接口具备的功能应该比介绍这些电路图有意义得多。
CRT显示器和CRT控制器,随机扫描和光栅扫描,伪彩色、CGA、EGA等,讲述的课本不在少数。笔者20年前的课堂上就讲过这些,现在再讲实在味同嚼蜡。关于多媒体电脑、多媒体专用芯片甚至多媒体操作系统这些概念,同样显得和时代格格不入,20年前这些说法可能代表新技术,而在全民手机都能处理多媒体的今天,这些说法本身似乎都失去了意义。
中断向量 本来向量的含义就是借用物理中定向指向的概念,去说明中断后自动转到相应的位置去实现中断服务,一些教材却在中断向量、向量中断、中断入口、向量地址等环节上反复纠缠,用一些模棱两可的用词去“加深”学生的理解,实际的效果却和“干扰”无异。类似的还有所谓存储单元、存储元、存储字、存储字长、机器字长、读写周期、存储周期、总线周期、机器周期等,非要让学生区分得清清楚楚,恐怕很难,况且这些概念本身就有相交之处。就拿中断向量来说,究竟是硬件切换出来的向量地址,还是向量地址中存放的服务程序入口,谁能说得清?还有总线周期和存储周期,当总线上传递存储单元信息时就是一回事。这些细微差别的概念即使要作为考题也要慎重,笔者多次碰到引起歧义的答案。
中断屏蔽和优先级 本来是两个很清楚的概念,各自的用途也非常明确,一旦把所谓的低优先级去中断高优先级的特例弄进去(暂不说这种做法有什么实际意义),一切都变得复杂起来。画中断响应轨迹图是很多题目最喜欢的,实际应用中若是出现像轨迹图那样乱七八糟的中断嵌套,系统很容易彻底崩溃。这些低优先级中断去嵌套高优先级中断的非常规做法还是不要复杂化。
6 实验环节与课程设计
实验课一般以某种实验箱为实验设备,把经典的运算器、存储器、数据通路(总线)、控制器等几个大的组成部分作为实验内容,去加深课堂相关内容的理解。课程设计则是依托实验箱的硬件构造,去设计一个具备更加复杂功能的部件或者组成一台能运行简单指令集的模拟整机。这种做法对于大多数普通院校的学生而言没有什么问题,少数重点大学使用FPGA设计CPU软核并在模拟机中移植某种操作系统作为课程设计则属于高端要求,这里不加分析。
要讨论的是这种传统实验箱做经典组成实验中遇到的问题,通过对几个厂家的组成原理实验箱的对比,发现它们都有如下特点。
1)采用开放式的面板,把所有部件以及连接线的插孔都安排在这个面积很大的面板上,所有元件和芯片。
2)运算器使用74181或者在可编程逻辑器件中使用该芯片逻辑,以配合教材内容。
3)存储器使用普通SRAM或者双端口SRAM。
4)控制器以微程序控制方式为主,使用非易失性存储器构成控存单元。少部分也提供硬逻辑控制器,用可编程逻辑器件构成。
5)大量使用开关和LED作为输入输出部件,信号连接使用针孔配合的导线。
6)说明书和实验指导书普遍不严谨,文字和图表错误很多,印制粗糙,且基本上都不提供电子版。
以上特点的组成原理实验箱往往还兼顾微机原理或者体系结构,甚至还有数字逻辑的课程实验。总体来说,它们会导致以下一些问题。
1)很大面积的电路板且,即使上面有分割各个模块的线条,仍然觉得庞杂凌乱,想找一个信号会非常不便,令学生望而生畏。因为要照顾到多门课程,所以一些电路单元在某门课程中就会用不上,还要增加切换电路的模式开关。这些都使操作复杂化,容易造成仪器损坏。一般来说,三年左右损坏率可以达到50%以上。
2)连线普遍采用插头和插孔的配合形式,差别在于有的型号粗、有的型号细,有的深、有的浅。这种连接方式太紧了插拔不方便容易断线,太松了接触不良;而且随着实验的复杂,面板上的线像一团乱麻,什么都看不清楚,即使采用了长短不一和不同颜色的导线加以区分,仍然不能解决问题,非常不便于调试和观察。
3)输入和输出方式操作复杂,更不直观。用二进制表示的拨动开关和LED管,输入的每个数据都要拨8次开关才能完成,输出的数据因为是LED表示的二进制信息,不易于识别。这两种形式的I/O还存在占用面积大,故障率高的缺点。
7 总结
计算机是发展很快的一门实践和工程类学科,不管是软件还是硬件皆是如此。软件类的书籍更新很快,当下的的开发工具和语言可能几年后就没有了用武之地,除了某些描述算法和原理的理论书籍,如数据结构、编译原理之类,更新周期可能较长。
相比软件类课程而言,硬件课程一个版本可能坚持更长时间,有些教材甚至有十年以上的生命周期,如传统的电路原理、数字逻辑类的课程。那么,计算机组成原理和系统结构作为硬件基础课程,是不是也能多少年不用更新呢?即使一些内容已经时过境迁,仍然堂而皇之地出现在教材里面,导致一部分了解这些内容的学生产生抵触情绪。不能追踪新技术的硬件课程对学生的学习积极性和学习效果都是有消极影响的。
本文希望能起到抛砖引玉的作用,引起教材作者和实验设备开发人员的重视,对相关内容及时更新或者删除,对设备中的不足加以改进,更好地促进计算机组成原理和计算机系统结构两门课程的发展。■
参考文献
[1]张晨曦,等.计算机系统结构[M].北京:高等教育出版社,2008.
[2]唐朔飞.计算机组成原理[M].北京:高等教育出版社,
2008.
[3]唐朔飞.计算机组成原理:学习指导与习题解答[M].北京:高等教育出版社,2012.
篇13
1 水电厂计算机监控系统的分类方式
水电厂计算机监控系统有不同的分类方式。依据计算机在监控系统中的作用大小可分为:计算机为辅的监控系统、计算机与常规设置双重控制的监控系统、计算机为主的监控系统。按照系统的控制方式可分为直接控制和分级控制两种。按照计算机的配置数量比又可分为单机系统、双机系统和多机系统。根据计算机系统的结构模式可以分为集中式、分散式、分布处理式、和全开放、全分布式计算机监控系统。
2 水电厂计算机监控系统的常用结构模式
2.1 集中式监控系统
集中式监控系统一般只需设置一台计算机就可以对全厂进行控制,是基于现场总线连接的实时通讯网络。由于这种方式的所有监控功能都在一台机器上执行,因而,一旦出现问题,整个监测、控制系统会全面瘫痪,可靠性较低。另外,所有信息都在一台机子上演示,其监控功能也受到局部限制。因此,常常设置另一台备用主控机,提高其可靠性。水电厂生产过程中的各运行参数和状态数据可以由主控机经I/O过程通道采集而成,同样,控制调节任务由主控机经I/O输出通道作用到各发电机组和相应设备,主控计算机集中实现系统的全部功能。这种系统结构比较简单、造价低、投资少,适用于容量较小,对监控要求不高的小型水电厂自动化控制系统。
2.2 功能分散式监控系统
这种监控系统中不再使用一台计算机完成各项功能,而是由多台计算机分别完成。每台计算机只负责完成部分任务,即单项任务。如数据采集、调整控制、事件记录以及通信功能等。由于这是一种形式上的横向功能的分散,当一台计算机出现故障时,只能够影响某一项的功能,其它作用不受影响,在某种程度上提高了系统的可靠性,功能分散式监控系统中的计算机负载相对减少,可以由微机来承担。其实,这种监控系统并没有解决集中式监控出现的所有问题,一个功能的计算机装置产生故障,全厂的这部分功能都会受影响,依然没有解决所有信息集中到一起引起的系统问题,可靠性依然不高。目前使用较少。
2.3 分层分布式监控系统
应该说,分布处理系统是分散式系统的升级,它克服了功能分散式系统的弱点,以控制对象的分散性为特征,其指导思想是以数据的分层控制方式为基础,将控制系统按照控制性质、组织结构的不同分成不同的管理层,各层之间完成分配给自己的监控功能,相互间有一定的制约和协调功能。水电厂的控制对象包括水轮发电机组、开关站、闸门、公用设施等,可以依据控制对象的不同设置单独的控制单元,电厂控制层的计算机组负责全厂的功能性工作。其控制层自身由多台计算机组成,也是一个功能分散的控制系统,当其中一个控制单元出现故障时,只对该单元的设备造成影响,不会妨碍到整个系统的运行,分层分布式监控系统由于具有这些特点,近年来在新建的水电厂中应用较多。
分层分布式监控系统,依据实际应用也分为几种网络结构模式:
2.3.1 一体化工控机分层结构
通过上以太网方式,一体化工控机又分为分层、分布式、全开放式结构,将可编程逻辑控制器、采样装置、温度巡检、励磁等应用设备依靠一体化工作机和上位机系统建立通信,工控机作为系统的核心,具有接口丰富的特性,可以在工控机上接通其他设备完成相应的操作功能,实现组网特性。这种结构即使在上位机出现故障,其它现地工控机仍然可以独立运行。其运行单元是由工控机、可编程逻辑控制器等专用设备构成,能够实现独立运作、监控,具有功能丰富、人机界面优化、可靠性强的特点,其投资成本很高。
2.3.2 工控机和PLC同时连接以太网结构
该结构中,测温、采样、保护等装置,以及励磁、调速器都通过工控机上的多重接口相连接,利用工控机的外扩串口卡进一步完成现地显示操作功能和现地设备通讯,利用可编程逻辑控制器的I/O接口与设备信号连接实现其现地设备的监控作用,与上位机系统进行通信。系统具有极强的可靠性,响应速度也得到提高,由于其应用成本比较高,常用于对监控要求很高的中小型水电厂的自动化通讯系统。
3 计算机监控系统各结构的应用特点。
由于水电厂计算机监控系统更看重产品性质、软件功能等特性,计算机监控系统的网络结构常常被忽视,实际应用中网络结构的不稳定和响应速度的快慢会影响到水电厂的自动化系统水平。一体化工控机分层结构系统中,所有设备和通信必须通过现地工控机集中采集,通过以太网达到各终端设备,一旦工控机发生意外,则所有监测、控制和相关功能都难以实现。同样,交流采样设备和可编程逻辑控制器也需要分别与工控机通信,此结构中可编程逻辑控制器不能直接读取数据,在机组流程开机并网后,难以实现自动带基负荷进行调节,也不能自动减负荷。在工控机和PLC同时连接以太网结构中,虽然增加了系统的可靠性,但一旦工控机出现问题,相应的机组操作仍然需要在上位机上进行,因此,两种结构中,工控机是系统中的关键因素。水电厂地质条件相对恶劣,振动、电磁干扰较多,对其组件的使用寿命有一定的影响,采用高档工控机需增添应用成本,因此,当前使用带工控机结构的逐渐减少。
4 结语
我国水电厂计算机监控系统的应用已趋于成熟,随着各类监控系统结构模式的发展和应用,水电技术人员应不断总结各类新型监控结构的运行特点和实践经验,吸取国际上先进的管理技术优势,加以分析和研究,结合我国水电厂的生产管理特点,推出符合我国国情的、满足水电厂监控技术要求的系统应用模式,实现监控系统的可靠性和实时性,具有反应速度快、维护手段便捷等基本要求。
参考文献
[1]李志刚.浅议水电厂计算机监控系统的几种结构模式[J].水电厂自动化,2008,01:17-18.
[2]张应亮.水电厂计算机监控系统通讯方式分析[J].湖南水利水电,2010,03:89-90+95.
作者简介