时间:2023-03-01 16:24:26
导语:在计算机系统结构的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
前言:所谓的“多核”是指一块芯片上集成多个处理器,这些处理器之间不需要设置共享关键资源,各自拥有独立的控制和计算部件。计算机系统结构多核综合实验的设计及应用,有利于满足计算机知识学习需要,更好地提升算机应用创新能力,使计算机原理和技术知识更好地被接受和应用。
一、计算机系统结构多核综合实验发展现状
计算机系统结构多核综合实验的发展,是基于多核技术发展到一定阶段的产物,多核综合实验在满足实验教学方面,也发挥了重要的作用。多核计算机的出现,具有代表性的厂家为IBM、Sun,其利用计算机理论对多核处理器进行设计,对多个计算机内核进行集成,以提升计算机的计算速度[1]。2007年1月份,Intel配置了2个4核处理器的8核计算机,随后Intel公司推出了roadmap,主流处理器达到144核,这表明多核计算机技术手段已经被人们掌握,可以应用于工作和学习当中。在对计算机系统结构多核综合实验应用过程中,清华大学设计了FPGA的开放式教学CPU设计,并利用Windows/Linux进行多核编程实验;南京大学配置Altera DE2实验板,利用硬件描述语言进行CPU设计;浙江大学开设了基于FPGA的CPU设计和多核编程实验。随着计算机系统结构多核化发展,人们对开展多核综合实验工作进行关注,并纷纷开设相关课程,注重提升计算机实验动手能力,使多核技术能够被更好的理解和掌握[2]。
二、计算机系统结构多核综合实验的设计实现
计算机系统结构多核综合实验设计过程中,需要对多核实验关注的知识点予以把握,并且在设计过程中,保证实验设计具有创新性,以满足实际需要。具体内容我们可以从下面分析中看出:
2.1多核综合实验的知识点
计算机系统结构多核实验设计,要注重对多核的本质及技术要点进行把握,从而使人们通过多核实验,能够掌握多核技术,对原有的计算机结构进行创新,更好地满足实际发展需要。计算机系统结构多核综合实验涉及的知识点主要包括以下几点:1、硬件设计技术、Cache与存储一致性、IO管理;2、多核技术与单核技术之间的差异性、嵌入式多核芯片技术、Cell、OpenSpare、Intel双核芯片;3、多核体系结构特征、多核API优化函数库;4、多线程编程对多核技术应用的影响、 Windows/Linux编程技术、OpenMP对多核的支持、多线程程序性能测评方法。
在进行多核综合实验教学过程中,要对计算机系统结构多核综合实验包括的技术要点内容予以把握,在实验设计时,能够对这些内容进行涵盖[3]。
2.2多核综合实验设计实现
多核综合实验设计过程中,需要考虑到硬件设计和软件设计相关内容。硬件设计方面,利用FPGA指令进行单CPU实验,并在后期结合FPGA特征,设计多个处理器内核,进行操作系统移植,保证CPU具有多核特性;软件设计方面,利用Windows/Linux多核多线程编程实验,对编程的思想和方法予以认知和理解,增强程序设计能力[4]。具体的实验设计,我们可以从下面分析中看出:
1、实验目的。多核综合实验设计的目的在于使学生能够对计算机内部结构和相关工作原理予以认知,能够掌握CPU分析、应用和设计的能力。同时,对硬件描述语言、EDA软件、FPGA芯片能够进行有效使用,具有一定的硬件动手能力,对硬件技术知识更好地了解。
2、平台设计。平台设计主要应用PC、FPGA-CPU、单片机控制电路等组成。
3、实验内容。借助于Verilog HDL/VHDL实现CPU软核,并利用EDA工具软件进行系统的模拟和测试,之后将模拟测试的内容加载到FPGA芯片中,保证单CPU能够以FPGA指令形成。通过利用FPGA芯片,对CPU的功能进行拓展,保证原有实验存在的缺陷和相关问题得到有效解决。同时,Windows/Linux多核多线程实验利用win32API、MFC进行实验操作,对可编程逻辑器件、操作系统功能予以了解和认知。
除此之外,实验设计过程中,还需要对实验测试的参数和指标范围予以明确。选择16个32位的寄存器,总线宽度为32位数据。
结束语:计算机系统结构多核综合实验教学,注重对计算机实验教学的实践性予以把握,通过利用多核技术,更好地提升人们对计算机软硬件知识的理解和掌握,并使人们在学习计算机技术过程中,能够创新发展,对相关理论进行更好的认知。因此,在进行多核综合实验过程中,要注重对FPGA技术予以有效把握,对多核技术内涵更好地理解。
参 考 文 献
[1]于永斌,徐洁,王华,张凤荔,吴晓华,丁旭阳. 计算机系统结构课程多核创新实验探索[J]. 实验科学与技术,2011,03:68-71.
[2]. 自动化技术、计算机技术[J]. 中国无线电电子学文摘,2011,05:167-246.
关键词:Learning-by-doing 教学模式 教学实践
文章编号:1672-5913(2011)18-0023-04 中图分类号:G642 文献标识码:A
“计算机系统结构”课程是计算机及应用专业考试计划中的专业课程,是一门从组织和结构的角度上学习、领会计算机系统的课程。计算机系统是一个软、硬件综合体。随着计算机软件的日趋复杂,以及硬件在功能、性能、集成度、可靠性、价格上的不断改进,针对不同的应用,需要研究如何更好地对计算机系统的软、硬件进行功能分配,如何更好、更合理地实现分配给硬件的那部分功能,使系统有高的性价比,这是计算机系统结构课程学习和研究的主要方面,也是计算机系统结构设计、硬件设计、高层次应用系统开发和系统软件开发所必须了解和掌握的基本知识。通过本课程学习,学生能进一步树立和加深对计算机系统的整体概念,熟悉有关计算机系统结构的概念、原理,了解常用的基本结构,领会结构设计的思想和方法,提高分析解决问题的能力。同时,也能了解近十几年来在计算机系统结构上的进展和今后发展的趋势。本课程是高等工科院校中计算机专业的主干课,通过介绍目前通用的和先进的计算机系统来具体阐述计算机系统结构原理的各个侧面,使学生全面掌握计算机系统结构基本的概念、原理、结构和分析方法。学生在已经学习了“计算机组成原理”、“计算机操作系统”、“汇编语言程序设计”、“高级语言程序设计”等计算机软件和硬件方面的多门课程之后,通过学习“计算机系统结构”这门课程能够建立完整的计算机
系统概念,为进一步学习有关专业课程和日后从事计算机系统设计工作打下基础,因此在计算机专业的教学计划中占有重要地位和作用。
1 现状分析
计算机系统结构课程教学已在国内许多高校展开,但是目前的计算机系统结构教学普遍仍停留在以讲概念和讲原理为主的水平上,不能与新产品和新技术联系在一起,无法激发学生的学习主动性和创新意识的实践性,导致学生学完后“会背书,不会做”,从而严重影响教学质量,达不到预期设定的教学目标。
在微软亚洲研究院的大力倡导下,本课程拟引入由卡内基•梅隆大学提出的“Learning-by-doing”这一适用于工程教学的行之有效的先进教学理念,对“计算机系统结构”课程教学进行改革。
“Learning-by-doing”是由美国卡内基•梅隆大学率先提出的一种旨在强化工程学科学生全面的实践能力和工程素养的教学模式[1]。其思想精髓是对学生与教师进行角色转变,并充分激发学生自主学习的积极性,使学生真正成为课程的主角,使教师转变为学生的顾问。
这个改革希望通过“Learning-by-doing”教学模式来改变当前的计算机系统结构的教学现状,使同学们既能够在学中做,也能在做中学,从而达到好的学习效果,增强同学们的理解和动手能力。笔者下面将具体阐述如何开展课程的教学改革。
2 前期工作
“Learning-by-doing”教学模式的引入需要我们做大量的前期工作,其中包括:
1) 强化思想教育,注重学生综合能力的培养。在教学中,我们需要改变学生过于依赖课本和老师的现状,首先要在思想上去启迪同学们,灌输他们发挥自己创造力的思想,使他们明白不能只停留在书本上的概念和原理的理解,而要最后能完成一个完整的、甚至有创造性的微型计算机系统结构设计。并且在教学过程中,我们采用微软MSF先进项目组织和管理思想,使学生在校期间就能形成良好的软件工程素养和意识,改变他们普遍重视技术技巧,忽视工程项目过程管理的现状。
2) 重新规划系统结构内容和实验,降低学习门槛。在传统的以讲概念说原理为主的教学模式中,采用深入浅出的教学方式和灵活多变的多媒体教学方法。同时,对计算机系统结构课程的实验项目进行改革,增大课程覆盖的深度和广度,鼓励学生自主学习、按需学习。
在组织教学内容时尽量绕开硬件细节,以较易掌握的硬件部件为突破口,选用学生很容易接受的计算机组成原理(前期课程)教学设备入手,以达到事半功倍的学习效果。而且为了切实落实“Learning-by- doing”教学思想,我们为每一种计算机系统结构技术都设计一个具体的课程项目,以使学生真正理解和掌握其知识要点与难点,从而使计算机系统结构课程真正成为一门学生看得见摸得着的、实实在在的生动课程。
3) 保证教学内容具有明显的前沿性和时代性。计算机系统结构技术日新月异,为了实现教学内容与技术同步,课程及时关注计算机科学方面的核心论文及期刊,及时把最新的技术反映到教学内容中,从而长期保持课程的生命力。
3 教改实施
本项教改项目实施的主要目标是:在“计算机系统结构”课程的讲授过程中,充分发挥教师的主导作用和学生的主体作用,使学生在全面掌握计算机系统结构原理基础上,重点培养学生的动手能力和创新能力。
此种能力培养的具体实施则需要从基础知识、技术讲座、基本技能和项目实践四个方面落实。
对于学生而言,首先应掌握好课本中的基础知识,形成扎实的理论基础。然后经常参加老师组织的各种形式的技术讲座,掌握当前计算机科学技术的动态,并从整体上把握计算机科学技术发展的前沿。最后,积极参加本课程的实验和项目工作,掌握主流开发工具和开发技巧,在做的过程中不断发现问题,然后通过与同学、老师的不断沟通中去解决问题,从而做到理论指导实践,实践中更进一步理解理论。
对于老师而言,首先应做好教学工作,完善原有的多媒体课件。引入声音、图像、AVI等多种形式,增强多媒体教学中的适应性、综合性和趣味性,使教学媒体多样化。然后,抓住当前技术前沿,抓住学生关心的问题,组织各种形式的技术讲座。第三,作为一门实践性很强的课程,兼顾理论、重在实践。教师在不断更新最新的国内外理论知识的同时,重视加强实践环节,实验内容全面上网、实验过程全程指导。对于学生循循善诱,讲解实验内容深入浅出,并付出十分的耐心。在解决问题的过程中重点教导学生解决问题的方法和途径,而不仅仅只是告诉他们当前问题的答案。
但是,在工作的实施中会有遇到以下具体困难:
1) 内容把握及工作量较大。
课件内容包括教学大纲所有教学知识点,以满足学科教学需要,并完整涵盖教学目标所涉及的内容,章节内容的剪裁、取舍以及重点、难点的掌握,是整个项目的基础,难度较大。
课件需要运用丰富的媒体素材,如图片、声音、动画、视频影像等,工作量较大,且课程内容涉及计算机系统结构、操作系统、计算机组成原理等课程内容,有较强的综合性。
2) 模块讲授和整体把握之间的矛盾。
教师的课件要简洁且具有亲和力,页面视觉效果好,并符合美学及教育学要求。
对各知识点内容宜采用模块化讲授,便于摘取模块知识点,同时便于教师按各自的教学特点对教学内容进行组装、搭配及改进。
但是怎么把握模块与整体的关系,怎么由点到面,是其中一个难点。
3) 实验教学中硬件复杂度和理论深入浅出之间的矛盾。
书本中浅显易懂的理论在实践中却需要很多其他相关硬件知识的辅助,增加了其硬件实现的复杂度。
4 具体实施
针对如上具体问题,我们采取了以下实施:
1) 此次教改项目研究以长沙学院计算机科学与技术系为依托,以具有多年计算机系统结构研究和课程教学经验的专业教师及软件制作开发人员为骨干,以计算机系为应用平台,由长沙学院教学指导委员会督促实施。
由项目负责人提出整体设计方案和规范化的格式要求;项目组成员对设计方案进行充分的讨论、修改和完善;项目组成员按照分工安排和制作规范进行文字脚本的创作;由项目负责人组织全体成员对文字脚本最终定稿并进行专业制作。
2) 理论教学采用模块式设计方法,确保教学系统的灵活性、可维护性和可扩展性;采用公开标准,保证系统的开放性;广泛应用PowerPoint、Flash、Photoshop等多媒体课件制作、动画设计与图像处理新技术,确保教学系统的技术含量,这是我们理论教学的一个关键环节。
我们把计算机系统结构这门课程的较为关键及抽象的理论,如计算机流水线技术、消除流水线瓶颈的方法,循环展开、分支预测BTH状态转换、多级存储层次、组相联Cache的查找[2]、互联网络、通信延迟和snooping监听协议等,都设计了动画演示,这不仅提高了学生的听课兴趣,同时也加深了他们对抽象理论的真实理解,取得了很好的效果。但我们并不满足于现有的工作与成绩,在已制作PPT课件和动画课件的基础上,广泛征求师生意见,充分吸收计算机系统结构研究的最新成果,进一步充实、完善课件内容。
3) 进一步完善计算机系统结构的实验教学内容。
项目组对此门课程的实验教学进行认真总结,真正让学生通过做实验来掌握课本中的内容,使学生通过实验课能直接接轨社会需求,而不是让这门实验课
程流于形式。这个环节也是实现“Learning-by-doing”教学模式的关键环节。
早期的系统结构实现采用的“PC机+模拟器”的实验方式形式过于单一,所有的实验都是先在模拟器中给出计算机系统结构技术参数设定,然后运行测试程序,最后根据程序运行结果给出实验结论。对学生而言,所做的工作只是系统结构参数的给定,然后面对一堆运行出来的枯燥数据给出实验结论。由于这些实验全是验证型实验,使得学生没有真正的实验体会,感觉也比较抽象,一个学期下来,整个实验课程没有收到它应有的效果,同时也没能激发出学生的创新性。
为了让学生更加有硬件实验体会,并发挥学生的创新性思维,我们在原有的“PC机+模拟器”模式下增加一个实验机箱,变成 “实验机箱+PC机+模拟器”模式,在原有实验基础上,增加了四个实验:(1)CISC(复杂指令集计算机)实验;(2)RISC(精简指令集计算机)实验;(3)重叠实验;(4)流水实验[3]。这些实验中,系统所具有的软硬件结构(实验机箱和模拟器)对实验设计具有完全的开放性,其数据线、地址线、控制线都由学生来操作连接,系统中的运算器结构、控制器结构及微程序指令的格式及定义均可根据教学需要来做灵活改变或重新设计。这对于自行设计各种结构及不同复杂程度的模型计算机提供了强大的软硬件操作平台,从而避免了单纯验证性的实验模式,极大提高了学生计算机系统的综合设计能力。同时,该系统还具有与PC微机联机实时调试的功能,提供了图形方式的调试界面(CMPP模拟器),在调试过程中可动态实时显示模型计算机各部件之间的数据传送以及各部件和总线上的所有信息。这种图形调试界面也可用于多媒体辅助教学,从而获得极佳的教学效果。经过两个学期的实践,计算机系统结构实验课程有了突破性的进展,取得了很好的效果。
4) 校教务处已具备较好的教学录像等设备,为网上教学资源的及时更新、维护和升级提供了良好的保证。
课程组老师每人均具有专门的上网设备和条件,也进一步建立和完善学生上网实验和学习的内外部环境,为网上教学互动提供了良好的环境支持。课程组老师及时更新教学网站的内容,并且教学资源全面
开放,教学内容,包括课件、实验内容,课后习题全面上网,并且开通“问题交流BBS”,使得学生与老师可以通过网络进行交流。
5 结语
2007年起,长沙学院计算机科学与技术系采用由卡内基•梅隆大学提出的“Learning-by-doing”这
一适用于工程教学的行之有效的先进教学理念对“计算机系统结构”课程进行改革以来,项目负责人全权负责课程的建设,从教学大纲、实验大纲、考试大纲、教学内容的制定[4],到多媒体教学课件的开发、实验项目的改革,经过几年的教学实践,该门课程的教学已经比较成功,受到广大学生以及教学督导组专家的一致好评。
参考文献:
[1] 教育部-微软精品课程Windows CE嵌入式系统 [EB/OL]. [2011-02-21]. .
[2] 张晨曦,王志英,张春元,等. 计算机系统结构[M]. 4版. 北京:高等教育出版社,2008:161-162.
[3] 西安唐都仪器公司. 计算机组成原理与系统结构实验教程[Z]. 2010:163-166.
[4] 张晨曦,王志英,刘依,等.“计算机系统结构”课程内容体系的研究[J]. 计算机教育,2009(20):57-60.
The Reform Base on Learning-by-doing of Computer Architecture Course
HUANG Caixia1, XU Hui2
(1. Department of Computer, Changsha University, Changsha 410003, China;
2. School of Software Science, Hunan University of Commerce, Changsha 410082, China)
关键词:可重构 可重构计算体系 可重构计算系统结构
中图分类号:TP338 文献标识码:A 文章编号:1007-9416(2016)11-0088-01
1 可重构并行计算机系统的基本理念
可重构并行计算机系统要依附于软件控制,通过可重用的资源,重构及重组转换为另一个计算体系,以匹配于差异化的相关需要。其具备可重构特性的计算机制我们称其为可重构计算系统。
重构和重组是可重构计算机制转换其基本功能的两种措施,前者即新计算系统的功能外部系统,其在旧的计算系统内并不存在,通过旧计算系统的可重用资源重新组建而成。而后者即新计算系统的功能部件,通常存在于旧的计算系统,经重新组合构建为另一套计算构架。
可重构并行计算机系统的核心体现在可重用资源,在研发FPGA前,可重构计算机系统一般都择取重组的措施;而在FPGA出现后,使重构措施变得具有可行性,经匹配相应的文件,设置各性质与线的链接,进而调节硬件的基本模式。
可重构并行计算机系统是为避免硬件结构和应用无法相适应这一问题。根据处理问题的程度,可把可重构分成下属几种:第一种,门级可重构,以核心门级作为切入点,重构计算机制。也就是把功能部件的逻辑通过FPGA予以深化,在使遇到算法改变的时候,利用调整FPGA的配置去完善其功能。此类重构即电路级可重构;第二种,部件级可重构,初期的重构以功能部件作为切入点,利用对功能部件的重新组合去匹配于差异化的计算机制;第三种,指令级可重构。
在常规处理器单元的基础上设置相应的计算设备,为计算的特殊需要奠定基础,以达到大计算量指令与附属程序的执行,此类深化计算机性能的重构措施即指令级可重构;第四种,芯片级可重构,在多处理器共用的原则上,使处理器位数产生变更、处理设施个数能够和处理器间互连,且能够予以变动的计算机体系,此类体系即芯片级可重构。
2 可重构计算的系统构架
可重构矩阵能够访问指标化处理器单元的高速缓存,不过可重构矩阵能够和常规处理器单元单独执行命令,也能够在指标处理器单元的控制下去执行相应命令。可重构计算的技术核心为可重构矩阵,其中可重构矩阵的组建可以依附于基本门,同样功能部件亦可组建重铸矩阵。可重构计算的技术主要包括下述几类:第一类,可重构阵列元素的组建,明确可重构阵列元泰的功能与其功能实现特性;第二类,可重构阵列元素的物理交互,因为可重构阵列需要匹配于差异化的计算要求,最为有效的物理交互措施即为全连通。第三类,可重构阵列元素的链接控制,差异化的计算需要我们要匹配于差异化的连接模式,怎样控制可重构矩阵元素的连接模式,使其应用更为便捷,需要根据实际情况而定。
3 可重构并行计算机系统计算机体系结构研究的进展
自从计算机发明以来,冯・诺依曼体系结构一直占据计算机体系结构的统治地位,科学家和工程师们在此基础上不断研究硬件和软件,使CPU和存储器技术得到了飞速的发展,也为信息化、网络化奠定了基础。
随着人们对信息化的要求越来越高,冯・诺依曼体系结构已经无法满足人们的技术需求和发展要求,对计算机的要求不再仅仅是高速计算,同时更应具备信息处理和智能升级能力。可重构技术与多核技术的出现为此提供了基础。近年来所发展的计算机体系结构主要包括下述几点:第一,CPU不仅为一核,而是通过多个核组成; 第二,存储设施不在是体系的核心构成因子,取而代之的是信息路径;第三,现阶段计算机已不再是通过五大部件所组成,而是通过一些信息处理节点所构建,每个节点的智能化与集成化越来越高;第四,程序设计涵盖了软件与硬件,生产方给出的产品会是独立封装好的中间件,作为应用方不需要侧重于程序的构架,只要做好专业设计即可。
4 结语
重构和重组是可重构计算机制转换其基本功能的两种措施,前者即新计算系统的功能外部系统,其在旧的计算系统内并不存在,通过旧计算系统的可重用资源重新组建而成。而后者即新计算系统的功能部件,通常存在于旧的计算系统,经重新组合构建为另一套计算构架。
近年来所研究开发的可重构并行计算机系统的核心体现在可重用资源,在研发FPGA前,可重构计算机系统一般都择取重组的措施;而在FPGA出现后,使重构措施变得具有可行性,经匹配相应的文件,设置各性质与线的链接,进而调节硬件的基本模式。
参考文献
[1]漆锋滨,王珊珊,姜小成,何王全.可重构计算及可重构编译技术研究[A].2012年全国开放式分布与并行计算机学术会议论文集(下册)[C],2012(02):25-26.
关键词:计算机组织与系统结构;计算机组成原理;计算机系统结构;教学改革
中图分类号:G642 文献标识码:B
1引言
“计算机组织与系统结构”是计算机专业最重要的核心基础课之一。从学科和专业知识结构的角度看,该课程涉及的内容是整个计算机学科和计算机系统中最重要的基础和核心;从实践和应用的角度看,该课程具有显著的实践和工程应用特点,因而对培养学生的实践能力、对培养创新人才、对推动我国高等教育和人才培养的战略目标的实现具有重要的作用。
2008年12月21至22日,教育部在北京召开了2009年度教育工作会议。会议通过的《教育部2009年工作要点》和周济部长在会议中的讲话都强调要“着力培养学生创新精神和实践能力”、“增强培养高素质人才、科技创新和社会服务的能力”,这是目前在我国实现经济结构转型的重大发展战略下高等教育发展和人才培养的指导方针和发展目标,是目前国家经济建设、科技和社会发展对我们教育部门人才培养的迫切要求。
但是,就目前我国高校计算机专业的教学现状来看,我们在计算机学科相关的课程结构设置、教学内容和教学方法上存在一些缺陷。纵观各大学计算机专业课程设置和授课内容,基本上都偏向算法和程序设计、软件工程、数据库、网络和各种媒体应用类课程,而在计算机组成与系统结构方面开设的课程较少,与本课程在计算机系统中的地位不太相称;与此同时,课堂教学和实验教学的内容都比较陈旧,与现代计算机技术的发展水平和实际情况脱节较大,总体上与国外一流大学相比还有很大的差距。
课程结构设置的不均衡和教学内容与方法的落后,使我们培养的人才结构和模式已经不能满足社会发展的需要。从社会发展需求和就业市场反馈的信息来看,目前计算机软件人才基本上供大于求,而熟悉计算机硬件设计、具有计算机系统结构理论基础和设计能力的人才则严重短缺,年薪远远高于同等软件设计人员。随着国家推动各行各业,尤其是传统制造业向信息化技术发展,以实现经济结构转型的重大战略的出台,各行各业将大量需要掌握核心芯片和硬件系统设计技术的人才,这些人才需要能够针对行业需求自行设计和开发具有自主知识产权的计算及控制核心部件和系统。因此,计算机硬件设计人才的培养对今后我国各行各业计算机应用和信息化技术的发展、对实现我国传统行业的经济结构转型将具有十分重要的作用。另外,即使对于那些软件系统设计和开发者而言,不具备扎实的计算机组成与系统结构基础,也难以很好地胜任重要的底层和系统软件的开发任务,不考虑硬件结构的软件设计将难以最大限度地发挥硬件性能,所实现的程序效率和性能将是比较低下的。
鉴于以上现状和原因,计算机组成与系统结构的教学具有极其重要的作用,其教学理念、教学内容和教学手段等方面的改革势在必行。
本文就本课程在计算机系统中的地位、国内本课程的教学现状、国外一流大学的教学内容和教学模式等几个方面进行介绍、分析和总结,并在此基础上,提出“从程序员需求出发、重在流水线CPU设计、强调软/硬件结合”的课程教学内容改革思路和“从ISA模拟器入手、以功能部件设计为先导、单周期CPU设计为过渡、最终实现流水线CPU”的实验教学方案。
2本课程的地位和特点
美国UC Berkeley大学的David Patterson教授在他讲授计算机组成与设计课程的讲义中,曾经用图清晰地描述了计算机系统的层次结构,并且指出了本课程在其中的位置,如图1所示。
图1本课程在计算机系统中的位置
从图1可以看出计算机系统从大的方面可以分成硬件(Hardware)和软件(Software)两部分。在硬件和软件交界面上的是指令集体系结构ISA(Instruction Set Architecture),围绕ISA的阴影部分就是计算机组成和系统结构的内容。很明显,这部分内容处于整个计算机系统中极其重要的位置。课程所涉及的硬件包括:处理器(Processor)、存储器(Memory)和输入/输出系统(I/O System),处理器主要由数据通路(Datapath)和控制逻辑(Control)组成。这些硬件是操作系统(Operating System)直接管理的资源,也是编译器(Compiler)对高级语言源程序翻译生成的目标程序代码直接运行的平台。因此,本课程的教学内容除了计算机硬件所涉及的各部件及其各部件的互连和指令系统等内容以外,还与数字逻辑电路设计(Digital Design & Circuit Design)、操作系统和编译器等技术和课程也密切相关。此外,数据的表示、Cache的局部性、虚拟存储器的实现、过程调用的硬件实现以及寄存器使用约定等内容与应用程序的设计与开发也密切相关。由此可见,这部分是整个计算机系统的核心内容,因而“计算机组织与系统结构”自然成为计算机专业的核心基础课程。
从该课程的地位来说,它是多门后续专业核心课的先导课程,在整个专业教学中,起着重要的承上启下的作用,对于学生完整地理解计算机系统的层次结构、系统地建立计算机整机概念、掌握计算机硬件和软件之间的接口、培养学生对计算机硬件系统的分析、应用、设计及开发能力,都直接起到重要的作用。
但是,该课程涉及的知识面广、内容多;课程难度大、概念抽象。不少学生觉得枯燥无味,凌乱繁杂,导致学习兴趣下降,学习时似懂非懂,考试时死记硬背,考完后一切全忘,难以达到教学目的。因此,如何把握课程的主线和重点,改革教学内容和教学模式,为学生今后的专业学习打下坚实基础,使学生具备一定的硬件设计和开发能力,增强学生的动手能力和自信心,是该课程教学改革必须解决的问题。
3本课程国内、外教学现状和比较
2009年教育部首次进行硕士研究生计算机专业基础课全国联考,考核的四门专业基础课总分为150分,计算机组成原理和数据结构是占分比重较高的两门课程,各占45分,充分说明了教育部对计算机组成与系统结构在计算机专业中重要性的认可,也迫使我们相关任课教师认真思考如何才能使该课程的教学真正起到课程所应有的重要作用。
在教育部的大力倡导和推动下,最近几年国内很多大学都开始对本课程进行教学改革,从教学内容、教学手段、实验环境和实验内容等方面进行了不同程度的革新。但与国外一流大学相比还相差很大,体现在教学内容和实验水平两个方面的主要差距如下。
3.1教学内容上的差距
从目前所使用的教材和网上资源中课程讲义内容等方面可以看出,国内高校该课程的教材内容和教学内容普遍存在下列问题:
(1) 内容比较陈旧,且概述性内容多,实例和细节方面内容较少,内容缺乏深度和系统性。特别是在有关CPU设计原理方面,还停留在三级时序系统、CPU内总线结构、CPU和存储器之间的异步控制等等方面,与流水线处理器设计技术的发展水平和现状相差甚远。学完后学生基本上没有流水线处理器设计的概念,和后续的系统结构课程之间有一条较大的鸿沟,未能为深入理解各类并行处理技术奠定坚实的基础。
(2) 未能有意识地建立硬件和软件之间的联系。例如,在介绍虚拟存储器、异常和中断等内容时很少提及硬件和操作系统的关系;在介绍数据表示、Cache局部性特点等与程序设计密切相关的部分时,未能与程序设计中的问题结合起来;指令系统和硬件结构等是与编译器密切相关的,但教学内容中很少提及编译器和硬件的关系。由于未能把教学内容与其实际运用场合和环境联系起来,学生在学习时会感到茫然,不知道学了有什么用,而且由于缺少感性认识,学生在对课程内容的理解上感到困难。特别是多数学生认为自己将来不会从事CPU等硬件设计工作,因而也提不起学习本课程的兴趣。
我们调查了美国UC Berkeley、Stanford、MIT、CMU和UIUC等几个一流大学的课程教学情况,通过访问相关课程网站,下载相关的课程讲义,我们发现这些大学中开设的相关课程的教学内容和实验内容有以下几个特点:
(1) 所用教材基本上是David Patterson教授和John Hennessy教授编著的《Computer Organization and Design: the Hardware/Software Interface》和《Computer Architecture: A Quantitative Approach》,以及美国CMU的Bryant教授等编著的《Computer Systems: A Programmer’s Perspective》。
(2) 处理器设计讲得较透彻。以MIPS处理器几条典型指令为基础,从单周期处理器、多周期处理器,逐步过渡到流水线处理器的设计,最后以流行的Intel系列处理器作为实例介绍高级流水线处理器的基本构成。在介绍流水线处理器时比较深入地阐述了三种流水线冲突(hazard)的解决方案,并简单介绍了如何在流水线方式下实现异常和中断处理。如此详尽地介绍流水线CPU设计在国内的高校中目前还较少。
(3) 以MIPS处理器或IA32处理器为模型机贯穿整个教材,所以整体上系统性比较好。无论是指令系统、数据的表示及运算,还是CPU实现都以MIPS或IA32为蓝本进行介绍,并且以大量的实例清楚说明了高级语言程序、汇编语言程序、机器代码和处理器实现之间的关系;并简单说明将高级语言源程序进行编译、汇编、链接,生成可执行文件在计算机上启动执行的过程。将学生能直观感觉到的高级语言程序和在CPU上执行的机器代码程序联系起来,使学生对一个程序的整个处理过程有全面的了解。
(4) 将数据表示和高级语言程序中的类型定义、Cache的局部性和高级语言中循环的实现、指令类型和高级语言编程结构等建立联系,将课程内容落实到具体运用点上,使学生不仅学会本课程内容,还学会运用相关知识解决具体问题,同时也增强了学生的学习兴趣和综合学习及运用能力。
(5) 在计算机硬件和软件(主要是操作系统)交界的地方清楚说明了硬件和软件的关系,通过了解具体计算机功能的软/硬件实现,使学生深刻体会计算机功能的软、硬件划分原则,以及成本和性能的权衡策略;同时也使学生了解硬件和软件之间如何协调工作。
(6) 结合高级语言和机器级代码之间的转换,结合流水线中的数据冲突和控制冲突处理的介绍,对有关编译优化技术进行了说明和解释。事实上,脱离具体指令集体系结构和硬件实现就无法清晰说明这些编译优化技术,因此这样的安排是比较恰当的。
(7) 利用性能评价方法对各种硬件设计方案进行定量分析,以加深学生对各种硬件设计方案、性能评价基本知识和基础理论的认识,也培养了学生对理论知识的应用能力和科学、严谨的学术风格。
(8) 由于对CPU设计的内容介绍得比较具体,使得相应的实验内容比较容易和课堂教学配套。从上述提到的这些一流大学设置的相应实验内容来看,基本上是围绕单周期处理器和五段流水线处理器设计展开的。
(9) 教材更新速度快。由清华大学郑纬民教授等翻译的《Computer Organization and Design: the Hardware/Software Interface》教材中文第3版2007年才出版,目前英文第四版已经出版并在使用了。教材的快速更新使得课程的教学内容能始终保持先进性。
从所下载的教案可以看出,上述几个一流大学的教学内容都有一个明显的特点,就是课堂教学虽以教材为中心,但不完全按照教材内容组织,增加了许多书中没有的内容,加进了任课老师的自我理解或借鉴了其他教材和教案的内容和描述方式,这也是值得我们学习的。
3.2实验内容上的差距
分析美国这几所学校课程网站和教材《Computer Organization and Design》所附光盘对其他一些学校课程实验的介绍内容,可以发现,国外本课程的最终实验目标是在FPGA板上实现一个带转发功能的RISC风格的流水线处理器,并模拟实现I/O设备与主机的简单通信。
通常都是先让学生在一个软件模拟器(或指令解释器)上熟悉指令系统,有些学校让学生自行设计一个指令解释器,也有些学校让学生在模拟器上用汇编语言实现一个小的游戏程序或其他特定功能的程序;然后在给定基本功能部件的源码框架下,逐步实现单周期处理器、不带任何冲突处理的流水线处理器,最终实现带转发和阻塞处理的具有Cache机制的流水线处理器。
实验设计策略基本上都是通过从简单的小部件逐步过渡到复杂部件,最终设计一个完整CPU的过程。该过程反映了结构化设计思想,遵循“自底向上”的设计方法。
目前国内有些大学也已经开始尝试使用硬件描述语言通过软件仿真技术和FPGA或CPLD技术来开展硬件实验,比传统的实验教学机大多只能进行验证性实验已经前进了一大步。但是,实验内容基本上只是多周期处理器的设计与实现,还没有达到流水线处理器设计的水平,与国外一流大学相比,还有很大差距。
4教学改革思路
为了在教学内容与实验内容上缩小与国际一流大学的差距,我们提出了“从程序员需求出发、重在流水线CPU设计、强调软/硬件结合”的课程教学内容改革思路和“从ISA模拟器入手、以功能部件设计为先导、单周期CPU设计为过渡、最终实现流水线CPU”的实验教学方案。
4.1教学内容改革
教材在教学过程中起主导作用,所以,我们首先从选择或编写教材入手来推动教学内容的改革。在教材建设方面采用了循序渐进的策略。
教学内容改革之初,我们采用“国内教材为主,国外经典教材为辅”的方针,2004年初步引入Patterson和Hennessy的《Computer Organization and Design》作为主要参考教材,对于一些重要章节,如中央处理器、指令系统、Cache和总线等,把该教材的内容大量地补充到课堂讲义和作业中;2006年开始全面使用该教材。但在使用该教材时发现存在一些问题,例如,篇幅太大、内容组织比较零乱等,给学生的学习带来较大困难。特别是从2009年开始,硕士研究生计算机专业基础课实行全国联考,因此涉及到教学内容与国内其他高校所用教材之间的统一协调问题,因而,从2008年开始,我们结合国内教学的特点,又开始自编教材。新编教材主要以MIPS和Intel Pentium4处理器为模型机,参考UC Berkeley、Stanford、MIT和CMU等国外一流大学相关课程的讲义、实验说明和所用教材,同时结合国内主流教材,在充分考虑与课程群中其他课程的衔接和实验相配套的基础上编写。与目前国内同类教材内容相比,在计算机性能评价、指令集体系结构与高级语言程序设计的关系、存储器分层结构中的软、硬件接口、CPU设计和指令流水线、计算机硬件与编译优化的关系等诸多方面进行了强化。
4.2教学实验改革
目前国内大多数高校本课程的教学实验,主要是在实验教学机上进行,且大多以验证性实验为主,基本上以“依葫芦画瓢”方式进行实验,很难进行自主创新设计,特别是很难通过实验建立一个整机概念,流水线设计思想也没有体现。
我校由于近年来对教学内容进行了大幅度改革,课堂教学中加大了对CPU设计、特别是流水线CPU设计的教
学力度,使学生打下了很好的理论基础。同时,硬件教学实验室配置了Altera DE2实验板,使学生可以通过硬件描述语言和FPGA进行CPU设计实验。
实验教学改革在以下几个方面进行:(1)与课堂教学同步进行一套“硬件模拟程序”实验,即:用软件方式模拟各个功能部件的功能及性能设计。例如,用软件模拟运算器、Cache、总线等的不同设计方案以及不同方案所获得的性能。(2)通过ISA模拟器实验,使学生深入理解数据的表示、指令集体系结构、汇编语言和机器代码的转换,以及指令执行过程等。(3)以功能部件设计为先导、单周期CPU设计为过渡、最终实现流水线CPU。要求学生先使用Quartus II软件进行模拟设计,通过后再下载到Altera DE2的FPGA板上进行验证。所有学生都要求能完成一个五段理想流水线CPU设计,部分能力强的学生还完成了带转发和阻塞功能的五段流水线CPU设计。
实验的最终目标是和其他课程联合开展综合性实验,在自行设计的CPU芯片基础上,设计汇编语言和高级语言,并配置简单的操作系统和编译器,学生可以通过自行设计的高级语言编写游戏等应用软件,在自行设计的CPU上运行。
5结束语
多年的教学工作告诉我们,学生的潜能是无限的,学习兴趣也是可以激发出来的。只要我们投入精力,引导有方,一定能带领学生领略到计算机王国的无限风光。
相信随着教育部和各高校对教学工作的重视,随着各高校从事本课程教学的老师们的努力,一定能在不长的时间内与国际一流大学的计算机硬件教学达到同步,为计算机专业的教学打下坚实的基础,从而提升整个专业的计算机教学水平。
参考文献:
[1]UC BerSellon University. Introduction to Computer Architecture [EB/OL].[2009-05-07].ece.cmu. edu/-ece447/.
[2]UC Berkeley. Components and Design Techniques for Digital Systems [EB/OL].[2009-02-16].inst.eecs. berkeley.edu/-cs150/sp09/.
[3]UC Berkeley. Computer Architecture and Engineering[EB/OL]. [2009-05-07].inst.eecs.berkeley.edu/-cs152/sp09/.
[4]Stanford University. Computer Organization & Systems [EB/OL].[ 2009-06-15]. stanford.edu/class/cs107/.
[5]Stanford University. Digital Systems II [EB/OL]. [2009-03-12]. stanford.edu/class/ee108b/.
[6]Carnegie Mellon University .Introduction to Computer Architecture [EB/OL].[2009-05-07].ece.cmu. edu/-ece447/.
[7]University of Illinois at Urbana-Champaign. Computer Architecture II [EB/OL]. [2008-05-05]. cs.uiuc. edu/class/sp08/cs232/.
[8]MIT. Computation Structures[EB/OL]. [2009-05-08]. 6004.csail.mit.edu.
[9]David A.Patterson, John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface[M]. 3rd ed. San Mateo, CA: Morgan Kaufman, 2004.
通过对面向服务架构(SOA)的深入研究,我们将Webservices技术集成到智能Agent架构中,提出面向Web服务的计算机审计系统(简称WSCAS)。本文其余部分如下:第二部分阐述计算机审计系统(CAS)、面向服务构架(SOA)以及本文研究动机;第三部分提出WSCAS的体系架构,包括基于Agents的Webservices系统结构、多智能体Agents的交互等;第四部分开发一个WSCAS系统原型;第五部分对WSCAS系统原型进行讨论;最后对全文进行小结,并指出未来进一步研究的方向。
相关问题的研究
(一)计算机审计系统(CAS)。随着信息技术在企业管理中的广泛使用,尤其是ERP系统的实施,企业的经营、管理及核算越来越依赖于复杂而庞大的管理信息系统。审计的对象也发生了根本变化,由纸质财务账簿转变为数据库中的电子数据(或称电子账);同时,资本市场对审计报告真实性和及时性的要求也越来越高。无论是以加强内部控制和企业管理增值为目的的内部审计、以财务真实性和公允性鉴证为目的的社会审计,还是以真实性、合法性和效益性审查为目的的国家审计,都不可避免地会受到企业信息化的冲击与挑战。审计师必须运用IT技术手段,掌握数字化审计证据收集方法,才能胜任信息化环境下的审计工作,降低审计风险,提高审计效率。定义1计算机审计:计算机审计也称计算机辅助审计,是审计人员运用信息技术和审计知识,在被审计单位现场或者通过远程网络,对被审计单位与财政财务收支和管理财政财务收支相关的电子账目或财务数据库数据进行审计。现代审计的范围正逐步延伸,跨越了财务模块,计算机审计对象已经发展为面向整个供应链的信息系统审计,是对整个企业应用的业务数据审计。定义2计算机审计系统(CAS):计算机审计系统是在审计过程中所采用的能够完成特定审计功能的各种应用系统的总称。计算机审计系统作为审计辅助工具,可以完成审计数据采集、整理、计算、统计、查询和报表生成等工作,为审计人员实施各种审计检查和收集审计证据提供帮助。
(二)面向服务构架(SOA)。面向服务构架(简称SOA)是一种软件架构思想,这一思想认为软件即服务,是将企业内部与外部的每一个业务功能单元封装成服务。SOA将这些服务从复杂的环境中独立出来,进行组件化封装,不同的服务之间通过标准接口相互调用。作为企业应用解决方案的基本元素,服务可以被描述、、发现及绑定,其平台是独立的、自治的,并且可以用XML编程的大型分布式互操作应用系统。图1说明了Web服务能够执行面向服务架构的模型。图1描述了Web服务的基本组成。该架构由三个参与者和三个基本操作构成。三个参与者即服务提供者(Serviceprovider)、服务请求者(Servicerequester)和服务(Servicebroker);三个基本操作即服务(Publish)、服务查找(Find)和服务绑定(Bind)。
(三)研究动机。计算机审计系统解决了数据采集、数据预处理、数据分析、疑点管理、审计底稿撰写、审计报告生成等难题,提高了审计效率和效果,在实际工作中发挥着重要的作用。许多学者致力于将新的信息技术应用到计算机审计中,并开始探索新的计算机审计模式。廖志芳等提出了联网审计实际的三种审计组网模式,即集中式、分布式以及点到点式组网模式[2]。李世新在对XBRL和Web服务进行介绍的基础上,提出了一种基于XBRL和Web服务的网络化审计取证模式[3]。李湘蓉在研究了网络环境中计算机审计系统应具有特点的基础上,提出了一个基于本体的计算机审计系统[4]。还有学者论述了计算机审计模式及风险防范[512]。一些学者对Internet环境下的审计系统进行了研究,Chen和Sun通过对面向服务架构环境进行研究,提出了一个内部控制持续审计模型,称为协同持续性审计模型,通过对企业资源计划数据库中的数据转换组件进行封装,软件提供商可以为企业提供模式匹配服务来实时转换业务交易数据[13]。Ye和He运用Web服务的一系列组件,提出了基于Web服务的持续审计业务流程模型,用于提供有关特定业务的鉴证[14]。Internet环境下的动态信息系统具有共享资源的多样性,无统一控制的“真”分布性,基础平台的开放性和动态性,人、设备和软件的多重异构性,节点的高度自治性,链接方式的动态开放性,网络连接的多样性,使用方式的灵活性和个性化,实体行为的不可预测性。我们认为在新的动态企业信息环境下,迫切需要与之相适应的审计模式和计算机审计系统。
面向Web服务的计算机审计系统(WSCAS)体系结构
(一)系统体系结构。面向Web服务的计算机审计系统(WSCAS)是一个开放的系统,复杂的审计任务由大量解决问题的Agent承担,每一个智能Agent只能解决特指的某一类问题,关注特定任务的完成。用Webservices封装的Agent,一个服务可能涉及一个或多个Agent,这些不同功能的Agent协力合作并提供特定的服务。系统是一个开放的环境,不同的Agent不必在同一地点或属于同一公司。通过对其他Agent知识和能力的理解,这些Agent能够突破固有的智能范围,协同工作实现目标。图2是面向Web服务的计算机审计系统(WSCAS)体系结构。由于系统具有开放性,可以不断地向系统中加入新的Agent,从而使得系统的处理能力不断增强,适应性不断提高。也就是说,除了WSCAS提供的服务,其他个人和公司也可以提供审计项目管理服务、审计数据采集整理服务、审计数据分析服务、审计抽样服务、审计文档管理服务以及其他相关的计算机审计服务。通过标准的通讯协议,每一个Webservices封装的Agent可以自由选择访问其他服务。
(二)智能Agent交互。如下页图3所示,WSCAS交互系统由外部实体和审计组件两部分组成。外部实体向系统提供被审计单位的数据和模型。根据《审计法》规定,被审计单位接到审计通知书后,要向审计小组提供审计范围内以及特定时间段审计所需要的完整数据。被审计单位的数据不但包括财务数据、业务数据,还包括被审计单位的基本情况、上一次审计的结论等相关数据。被审计单位模型包括审计所需的被审计单位业务流程、相关的法律法规等系统模型,这些模型是开展审计工作的基础和判断审计疑点的依据。审计组件包括数据采集模块、审计数据分析模块、审计抽样模块和审计文档管理模块。
数据采集是审计人员从被审计单位的信息系统中提取指定范围、指定内容的业务数据并收集到审计系统中。用IT技术对电子账进行审计有两个需解决的关键问题:一是审计人员采集电子账中的电子数据,包括电子账套中的数据和信息系统数据库中的数据;二是分析审查采集到的电子数据。数据采集是对电子账数据进行实质性审查工作的第一步。数据采集是否全面、准确、客观将直接影响计算机审计的结果。若采集的数据不能客观全面地反映企业的经济业务状况,那么审计人员即使有很强的职业判断能力,也无法得出正确的审计结论,从而增加审计风险。因此数据采集在整个计算机审计过程中至关重要。数据采集的信息可以分为三类:被审计单位信息采集、财务数据采集、业务数据采集。
一是被审计单位信息采集Agent。审计业务的开展与被审计单位的企业规模、业务流程、组织结构以及相关的行业法规制度等密切相关,在审计准备阶段和审计实施阶段的初期,审计人员必须首先获得被审计单位相关信息,然后才能开展审计工作,被审计单位信息采集Agent负责此类信息点采集。二是财务数据采集Agent。财务数据采集主要采集以下两种数据:财务备份账套数据和财务数据库数据。财务账套数据是会计信息系统中经过加密后的备份电子数据,其格式不是标准的数据库格式,而是会计信息系统以其独特的方式备份数据。不同的会计信息系统财务账套数据文件的格式不同,所以WSCAS提供不同的财务账套数据采集Agent作为智能数据采集接口,完成财务备份账套数据的采集工作。财务数据库数据是保存在标准数据库中的会计数据,数据文件以标准的数据库文件格式保存,系统为各种数据库提供了相应的数据采集Agent,财务数据库中有许多表,其中和审计相关的主要数据库表为会计期间定义表、会计科目表、会计科目的设置表、凭证表等。通过数据采集Agent接口采集数据,审计人员要清楚数据库,数据库表,字段的结构、属性和含义,这样才能对数据进行采集整理,保证数据的完整性。三是业务数据采集Agent。由于审计范围的不断扩大,审计对象不再局限于财务数据,还包括许多业务数据的审计,如社会保障审计、高速公路收费审计、经济效益审计等,这些数据保存在业务数据库中,由业务数据采集Agent作为智能的采集接口,采集业务数据。
数据采集的目的是为审计分析做准备。审计数据分析是通过运用审计分析方法和分析工具,对被审计单位审计数据进行分析,发现审计线索,获取审计证据,进而形成审计结论。利用计算机的数据分析方法有:账表分析;数据查询;数据挖掘;联机处理;审计分析工具;审计疑点管理等。接下来进行具体分析。一是账表分析Agent。审计人员将采集到的财务备份数据还原成电子账,通过对被审计单位会计基础资料的检查和分析,找出审计线索,得出审计结论。账表分析Agent的主要功能包括总账审查、科目明细账审查、辅助账审查、会计科目审查、凭证审查、未记账凭证审查、日记账审查、报表审查等。二是数据查询分析Agent。审计人员根据审计经验,按照一定的审计分析模型,对从数据库中采集到的数据进行查询分析,发现审计线索,达到审计目的。数据查询分析Agent主要的查询分析方法有数值统计、重号分析、断号分析、分类分析、数据分层分析、时间分层分析等。三是数据挖掘Agent。随着信息技术的高速发展,尤其是被审计单位信息系统数据库中各种格式的业务数据急剧增长,只靠审计人员的人工阅读或简单的审计数据检索无法及时发现不同层次的审计线索。数据挖掘Agent能够从被审计单位海量的数据中挖掘出隐含的、先前未知的、对审计结论有价值的审计线索,以及能被审计人员所理解“知识”的数据处理过程。四是联机处理Agent。联机分析处理是与数据仓库密切相关的一种决策支持工具,联机处理Agent能够使审计人员从多角度对审计数据进行处理,获得对审计数据更深层次的了解,发现审计线索,实现对审计决策的支持和多维分析。五是审计分析工具Agent。除了上述一般审计分析方法外,WSCAS还提供了一个开放的、专用的审计分析工具平台,审计人员不但可以利用系统提供的审计分析工具,还可以不断充实新的审计分析服务。审计分析工具Agent可以进行单科目金额分析、对方科目分析、坏账准备计算、营业税计算、固定资产折旧计算、个人所得税计算、图表数据分析等,帮助审计人员发现审计疑点。六是审计疑点管理Agent。审计疑点管理Agent可以存储、管理并逐项落实审计分析中发现的审计疑点。
审计抽样是审计人员在实施审计的过程中,从审计对象总体中选取一定数量的样本进行测试,并根据样本测试结果推断总体特征的一种方法。审计抽样是一种能够大幅度提高工作效率、量化控制审计风险、规范审计行为、提高审计工作质量的审计技术方法。特别是在被审计单位内部控制制度健全、审计对象数量庞大且经验判断难以奏效的情况下,采用审计抽样技术审计效果显著。具体应用如下:一是抽样管理Agent。抽样管理Agent可以管理审计抽样全过程的信息,包括总体表中的数据管理、抽样方法的选择、样本表中的数据管理等。二是抽样审核Agent。抽样审核Agent对审计抽样的样本信息在审计现场进行审计核对,并将审核的结果输入系统中,输出生成抽样审核结果表供审计人员使用。三是抽样评价Agent。抽样评价Agent根据样本数据的审核结果,推断总体审计数据的情况。
审计文档管理是计算机审计过程中的一项重要内容,审计过程中的文档主要有审计底稿、审计日记、审计证据、审计报告、审计台账等。具体应用如下:一是审计底稿Agent。审计底稿Agent记录审计过程中所发现的被审计单位违纪违规问题,对审计日记、审计证据所反映的问题进行描述,汇总审计报告、审计台账等审计资料。二是审计日记Agent。审计日记Agent记录审计人员当天的审计过程,内容涉及审计分工、审计事项、审计实施步骤和方法、审计查阅的资料和数量、审计人员的专业判断和查证结果以及其他一些需要记录的情况等。三是审计证据Agent。审计证据Agent负责建立、管理和汇总审计证据。四是审计报告Agent。审计报告Agent以审计底稿为素材,生成报告提纲并形成审计小组的审计报告初稿。五是审计台账Agent。对照审计报告、审计决定等审计文书的结论,对每篇审计底稿的问题和金额进行确认,系统根据确认后的结果,由审计台账Agent自动汇总问题和处理处罚数据,生成审计台账,最终生成的审计台账参与审计报表的汇总。
面向Web服务的计算机审计系统(WSCAS)的原型开发
本文将移动Agent技术和Webservices技术结合,集成两者优势,克服各自局限性,构建面向Web服务的计算机审计系统,如图4开放Internet环境下的计算机审计服务的集成架构。为了实现系统中审计服务的统一调用,我们将各种业务逻辑封装为服务,提供标准、统一的服务接口,从而实现技术对外界透明。本文使用了Java技术开发系统功能模型,描述模型的架构和元素。
系统评价
为了验证本文所论述方法的有效性,阐明基于Web服务是如何集成工作并实现计算机审计的目标,我们用一个案例来描述服务的协同操作过程(具体见下页图5)。审计人员对企业进行财务审计,首先要明确审计任务,组成计算机审计小组,在了解被审计单位基本情况的基础上,制定计算机审计方案,确定计算机审计范围、审计重点、审计实施步骤、审计安排、审计方式、人员分工以及需要运用的计算机审计方法和审计实施注意事项等,利用WSCAS开展基于Web服务的计算机审计工作。
(1)审计项目管理Service发出审计通知书。审计小组通过系统的审计项目管理服务,向被审计单位发出审计项目通知书。
(2)被审计单位信息Service以服务的形式向系统被审计单位的基本情况信息,提供给审计小组。
(3)审计数据采集Service采集被审计单位审计数据。被审计单位信息Service按照审计小组的审计要求,将审计通知书中说明的指定时间段、指定范围的审计数据进行服务封装、注册和,提供给审计数据采集Service。审计数据采集Service首先对采集到的审计数据进行数据验证,确认采集数据的真实性、正确性和完整性,然后对数据进行预处理,这是由于被审计单位的数据来源繁杂,采集来的审计数据可能存在质量问题,不能直接进行审计数据分析,需要进行预处理。预处理包括数据转换和数据清理。数据转换是将采集来的原始数据转换成审计人员容易识别的数据格式和名称,主要包括将被审计单位的数据有效装载到WSCAS系统中,明确数据字典,标识出每张表、每个字段的含义及其关系;数据清理是整理不符合质量要求的数据,清除存在明显错误的数据,如缺失的数据、不完整的数据、不准确的数据、不一致的数据以及重复的记录等。
(4)审计数据分析Service。以审计数据采集Service输出的中间表作为审计分析的基础进行审计分析。在审计分析中,审计人员根据相关的业务处理逻辑、业务数据的勾稽关系、法律法规的规定或审计经验等,建立审计分析模型,用账表核对、指标分析、账表勾稽关系模型、业务逻辑分析模型、法律法规分析模型以及审计经验模型等方法进行总体审计数据分析,然后审计数据分析Service对审计数据进行复算、检查、核对和判断,发现审计线索,收集审计证据。
(5)审计数据抽样Service。在明确审计目标和审计对象的基础上,根据被审计单位的内部控制评价水平确定审计抽样的样本量。审计数据抽样Service选取样本并审查,评价抽样结果,并返回到审计数据分析Service。
(6)在审计数据分析和审计数据抽样过程中,审计人员记录当天审计过程、实施审计的步骤和方法、审计查阅的资料和数量、审计人员的专业判断和查证结果等,将这些情况提交到审计文档管理Service,形成审计日记。
(7)在审计数据分析过程中,审计数据分析Service将审计发现的问题作为审计疑点,发送到审计文档管理Service,审计文档管理Service负责落实审计疑点,若证实确是问题,则将该疑点作为审计证据。
(8)审计文档管理Service编制审计报告初稿,和被审计单位沟通,生成审计报告正式稿,形成审计意见。
(9)审计文档管理Service向审计项目小组提交、归档审计文档资料。
关键词:管理信息系统;B/S模式;网上结算系统;计算机
中图分类号:TP393 文献标识码:A 文章编号:1007-9599 (2011) 21-0000-02
Online Billing System Design and Implementation
Based on B/S Structure
Cui Luo
(Dongying Radio and TV,Dongying 257000,China)
Abstract:With the implementation of enterprise computer applications continue to increase,gradually expand the scope of the software,while the enterprise is also increasingly concentrate on the business process-oriented issues,enterprise application integration into enterprises and software vendors have to face and solve complex technical and management issues.According to the needs of larger financial asset management companies,so that all units more convenient and fast,timely and accurate settlement between,reduce capital precipitation,queries in a timely manner the units of the income,expenditure and benefit analysis of the situation,made against the problems of the appropriate measures,it is recommended that starts"online settlement development system"project.Management information system of safety management is very important.This article uses the authentication,permissions,encryption,three kinds of technology to protect your network and security management information system.On Web-based financial management system for detailed analysis,based on actual requirements,detailed design of each functional module,and the use of JSP technology in advanced control mode implements the MVC system.
Keywords:Management information system;B/S mode;Online billing system;Computer
一、资料与方法
(一)研究背景
在信息技术飞速发展的今天,企业信息化建设采用了开放式的Internet/Intranet网络体系,并结合企业经营模式和管理模式变革对企业信息系统进行重构,重构后的企业信息系统不再是局限于企业内部信息流通的封闭式系统,而是与企业所处的行业供应链各个环节保f@P移F信息交流通畅的开放式系统,企业几乎所有的经营和管理活动都依赖于这个开放式的网络信息系统来进行,其赖以运作的财务信息系统应做到远程处理、信息共享和集中管理、分散处理,以实现与企业信息系统与其它子系统之间完美集成、无缝连接,从而消除信息“孤岛”,如果做不到这点,企业管理的信息流就会脱节,企业信息化目标就会落空,企业在瞬息万变的市场竞争中就难以树立竞争优势。随着信息技术的发展和应用,企业传统的经营模式逐步转向电子商务,同时在管理方面进行企业过程的重整和组织结构等的改革,企业经营模式和管理模式的这些变化,也要求企业财务管理必须支持和适应。一方面,企业财务要支持电子商务,其财务管理系统必须做到消息采集和处理方法的无纸化管理和实时管理、结算和支付的网络化、电子化和安全化。另一方面,财务管理信息系统也要适应改革后的企业新过程和新组织结构,增加异地处理等功能。
(二)技术方案
信息技术的高速发展使网络计算模式不断更新。从单机时代的主机/终端模式、文件服务器时代的共享数据模式、客户机/服务器时代的Client/Server(客户机/服务器)模式,再到今天网络计算时代的Browser/Server(浏览器/服务器)模式,计算模式发生了巨大变化。同时计算模式的不断进步使管理软件的架构发生了很大变化。本章通过对系统可选择的开发模型进行分析与比较,选择三层结构的Web Browser(浏览器)/Server(服务器)模型开发。并且通过对该模型几个技术方案的比较,确定了系统开发使用的技术方案。
计算机科学与技术专业下设研究方向,计算机科学与技术专业是一级学科;
三个二级学科,分别是计算机系统结构、计算机软件与理论 、计算机应用技术 ;
每个专业研究方向、考试科目不同,考研前需要查询招生院系招生简章具体规定;
关键词:统一收支结算;医院财务体系;构建方法
经济的发展让医院财务体系得到了不断发展和完善,这从医院财务分析指标体系即可鲜明的体现出来。然而,随着社会的进步,人们对医疗服务、医疗水平的提高等诸多因素,也使的当前医院的财务体系暴露出一些问题。鉴于现代企业统一收支结算的科学性,有必要探究其在医院财务体系构建中的应用。
一、医院财务体系现状
(一)对负债比率不够重视
负债比率即指医院的负债比率指标,即资产负债率,是医院负债总额和资产总额的比率,即在医院的资产总额中,有多少是通过借债所得。以医院经营的视角来看,负债低表明医院对外部资金的运用能力较差,而负债率过高,则医院风险过大,一般较为合理和健康的负债率应维持在6成到7成左右。然而,目前我国很多医院对其都没有引起足够的重视,要么负债率过低阻碍的医院的发展,要么负债率过高,极度膨胀极易引起医院陷入“财务危机”。
(二)流动比率过大
所谓流动比率即流动资产与流动负债的比率,亦可表示为医院现金用于偿还流动债务的能力。因此,从这个意义上说,流动比率越大,债权人的利益越大。但是,就我国目前来看,虽然各医院基本保持了高流动比率的特点,但是过高的流动比率却显示了医院对于外部资金的使用上没有统筹合理的安排,某种程度上是浪费了资源,一般情况较好的流动比率应控制在2:1为佳。此外,在流动比率上,还可从速度比率上进行控制,它是速动资产和流动负债的比率,是医院偿还流动负债能力的最佳体现,通常业界人士认为此比率应维持在1:1为佳,但从我国医院财务体系调查来看,这种理想效果很难实现。
(三)病人费用评价指标较高
病人费用评价是诠释医院责任,提高医院服务质量,提升医院口碑的最基本条件,即以“少花钱、治好病”为中心的评价指标,比如患者就诊、住院、用药、手术等费用是否合理、是否过高等等。就目前来看,此方面虽然有关部门和医院都做出了相较完善的规定,但在具体的执行过程中扔暴露出一些不足之处,尚有待完善。
(四)财务管理指标需提高
医院财务系统建设的是否完善,很大程度上与财务管理相关。比如药品周转率是否合理,能否达到在满足医院用药的要求上实现药房的最小存储量,比如床位使用率,病床周转次数的管理,以及管理费用在医院财务总支出中所占比重等都是衡量医院财务管理指标的重要方面,而从实际来看这些方面都或多厚少存在更进的地方。
二、统一收支结算用于医院财务体系的可行性
所谓统一收支结算,即为了降低企业风险、提高企业竞争力和经济效益,弥补一些公司缺乏可有效控制公司财务风险的高级财务主管或首席财务官的弊端,而采取资源集中控制收入和支出,并进行统一结算的现代企业财务制度。鉴于上述医院财务体系中表现的问题,可从以下几方面讨论下统一收支结算用于医院财务体系的可行性。
1、统一收支结算可帮助医院避免财务危机
我国大多医院都属于事业型单位,医院的组织形式和结构层次较多,这是无法规避的问题,而即便是各种类型的民营医院亦是在医院总部到下面各个科室之间设置了诸多功能机构,这就难免造成权利和利益的分散,而相对的责任和风险则向医院主体层面集中。而同一收支结算恰恰可以对医院的财务体系实施统一、统筹安排,将不可避免的权利和利益下放所造成的风险控制在可控范围内,实现了风险的集中管理和集中转移,如此便在很大程度上避免了医院发生财务危机的可能性。此外,统一收支结算亦可实现医院资源控制和使用的分离目的,实现了资源的合理分配,不仅可有效的节约经营成本,而且可在内部形成潜在的、巨大的无形价值。
2、统一收支结算符合医院的整体利益
统一收支结算是医院有效掌控财务体系,对各科室和部门进行统筹监督和管理的保障,通过统一收支结算,医院各科室将摒弃原本独立的财务体系和经营方向,以医院的发展角度出发,以医院整体的利益为服务出发点,因此势必会带动各部门乃至医院医务人员的工作行为向符合医院整体发展战略的方向转移,这就避免了个别科室特立独行的行为,尤其是对于医护服务的整齐划一的要求更是如虎添翼,同时也方便了医院对下面部门的管理。所以说,从医院长远发展上考虑统一收支结算是保证医院财务体系健全,为医院健康持久发展的护卫者。
三、医院财务体系实现统一收支结算的实践
从统一收支结算在医院财务体系实践的可行性中即可看出在医院财务体系构建中的重要,因此在构建医院财务体系的过程中应勇于尝试对统一收支结算的实践。对此,可从两方面进行。
1、由点及面,全面铺开
虽然统一收支结算已经在现代企业中证明了其科学性和有效性,但是鉴于医院的特殊性质,一刀切进行全面的改革显然不妥,为此,医院可先从某一科室进行实验性统一收支结算,然后逐步扩展。在此过程中应对设计财务的各种账目、现金做好明确记录,同时定期地与该科室进行对比,以检测统一收支结算的效果。
2、从财务部门入手,健全医院财务体系
既然是构建医院的财务体系,所以在财务部门进行改革和实践首当其冲,对此医院可结合自身实际,对于各科室的会计进行综合评定考核,待实验成果出来后,将不符合标准或问题较严重的予以辞退,同时建立起由医院直属的财务部门,进而形成统一收支结算的影响体系机构。
总结:
本文结合医院财务体系中存在的弊端,以及现代企业统一结算的优势,将两者常识性地进行了结合,从医院本身即理论实际上看,将统一收支结算用于医院财务体系是可行的、有效的,当然要想起发挥更大的效力还须各医院在实践中不断探索、完善。(作者单位:浙江省温州市中心医院)
参考文献:
【关键词】计算机组成原理 课程体系 构建
【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2014)09-0247-02
一、课程建设中存在的问题
近年来,多数高等院校计算机科学与技术专业都以必修课的形式开设了“计算机组成原理”这门课程。虽然各院校讲授的内容各不相同,但是他们对该课程的性质、地位、作用及重要性都有了一定的认识。由于“计算机组成原理”课程覆盖的专业较多,因此各校在进行教学时在一些问题上还存在不同的认识,其中的有些问题还需要进一步探索。
二、课程的地位及作用
“计算机组成原理”是系统介绍了计算机组成与系统结构的基本原理、基本设计与实现方法。通过本课程的学习使学生对计算机的组成与系统结构有较全面的认识,使学生从理论和实践上掌握计算机系统的设计与开发的方法,进而提高学生进行计算机应用系统设计开发的能力,培养学生的综合素质。因此,“计算机组成原理”课程在计算机科学与技术专业及相关专业中具有举足轻重的作用。
三、课程体系的构建
(一)课程概述
本课程主要从计算机的基本概念、基本组成结构分析着手,对计算机各个基本组成部件及控制单元的工作原理进行讨论,分析计算机系统的一般特点,使学生掌握有关软、硬件的基本知识,尤其是个基本组成部件有机连接构成整机系统的方法,为培养学生对计算机系统的分析、设计、开发和使用能力打下基础。
(二)课程性质
适用专业类:高等院校计算机科学与技术及相关专业
授课时数:54学时
实践时数:18学时
先修课程:数字逻辑、数据结构与算法、C++语言程序设计。
(三)课程内容
本课程对教学内容的要求分为3个层次,分别是:“掌握”、“理解”和“了解”。对于要求“掌握”和“理解”的内容,要做到概念清楚,原理明白,并具有分析和计算能力,有些内容还要求会应用。“掌握”比“理解”要求更高,有些知识必须熟记。对要求“了解”的内容应当知道基本概念和基本原理。“计算机组成原理”课程体系应由理论知识、实验两大部分组成。
1.理论知识
① 计算机系统概述 (4学时)。主要内容: 计算机系统软硬件的组成与层次结构、 计算机系统的设计技术与评价标准、 计算机的发展和应用。
②计算机的逻辑部件 (6学时)。主要内容:布尔代数的基础知识、 计算机中常用的组合逻辑电路、时序逻辑电路。
③数据表示、运算方法与运算部件 (10学时)。主要内容: 数字化信息编码、 计算机中数据的表示、转换和运算、 二进制乘法和除法运算、 浮点数的运算方法、 运算部件、 数据校验码。
④主存储器 (6学时)。主要内容: 主存储器概述、 读/写存储器、 非易失性半导体存储器。
⑤指令系统 (6学时)。主要内容: 指令格式与数据表示、 寻址方式、 指令类型与指令系统的兼容性、 RISC和CISC、 指令系统举例。
⑥中央处理部件 (6学时)。主要内容: 计算机的硬件系统、 控制器的组成、 微程序控制的工作原理、 流水线工作原理。
⑦存储器系统 (6学时)。主要内容: 存储器系统概述、 高速缓冲存储器、 虚拟存储器、 相联存储器和存储保护。
⑧输入输出系统 (6学时)。主要内容: 输入输出系统概述、 程序中断、 DMA输入输出方式、 通道控制方式、 总线结构、 外设接口。
⑨计算机系统结构 (4学时)。主要内容: 计算机系统概述、 多媒体计算机、超级流水线处理机和超长指令计算机、 计算机网络简述。
理论共54学时,3学分,成绩比例70%。
2.实验
通过做实验让学生加深对所学学科知识的理解和掌握,同时培养学生的动手能力和分析问题的能力,为后续课程的学习奠定基础。具体内容如下:①运算器实验(6学时)②存储器实验(4学时)③微程序控制器实验(2学时)④模型机组成与指令执行实验(4学时)⑤输入输出实验(2学时)。
共18学时,1学分,30%。
(四)课程的重点和难点
重点:掌握计算机的各个组成部件的工作原理。
难点:指令的执行和存储空间的扩充。
四、加强课程构建的具体设想及主要措施
(一)在教学环节中突出本课程的实践环节
“计算机组成原理”是计算机科学与技术类专业的一门重要专业基础课。本课程的学习将为学习“操作系统”、“微机原理”等后续课程和研制开发各种系统和应用软件打下扎实的理论和实践基础,因此可以将“计算机组成原理”课程的知识结构结合相应的实践环节来巩固并加深所需的知识点的理解。在教学过程中,即注重学生基础理论知识的掌握,也注重学生动手能力、设计能力的培养,使本课程在处理知识面的宽度和深度上,既满足作为基础课的要求又达能到课程突出实践环节的特色。
(二)教学方法的整改策略
实验教学分层次组织:以能力培养为宗旨,根据难度分为达到“实验设置基本要求”和“实验设置较高要求”的实验。教师根据学生情况分层次组织实验,既能掌握基础性实验,也能体验有一定难度的实验,使不同程度的学生都能从中受益,并提高学生的学习兴趣。
(三)教学手段的改进
“计算机组成原理”充分地利用了学校网络资源,将教学课件、教辅材料及习题集等资源上网,使学生方便地下载,了解本课程的教学安排、计划和要求、考试题型及考核方式,便于学生课下的复习自学、巩固知识点,并对学生课余主动学习提供了很大的方便。使用这样先进的教学手段,既提高了教学质量,又取得了良好的教学效果。
五、结束语
该课程体系是在分析和研究部分高等院校“计算机组成原理”课程教学实践基础上构建的,但是由于多数院校开设“计算机组成原理”课程授课的学生层次和研究方向、专业特色的不同,教学内容、教学方法、教学手段、实验环节等还处于探索阶段。因此其科学性、合理性和实用性有待实践的进一步检验和完善。
参考文献: