欢迎访问发表云网!为您提供杂志订阅、期刊投稿咨询服务!

计算机体系结构大全11篇

时间:2022-04-01 18:00:44

计算机体系结构

计算机体系结构篇(1)

中图分类号:G642 文献标识码:A

1引言

“计算机系统结构”是高等院校计算机专业本科的一门专业主干课程。

长期以来,很多教师反映这门课程比较难讲,其原因之一是课程的内容体系和教材有些陈旧,强调的是定性分析,内容比较空泛、较难理解,对有些非重点或非主流的结构和方法进行了过细的介绍,而对实际系统和现已广泛应用的方法的定量分析却比较少。二十多年来,国内教材的内容体系都变化不大。我们77级本科生在1981年上“计算机系统结构”课时的内容体系跟现在有些教材的内容体系相差不是很大,在不少现在的教材中都能找到它们的影子。

另外,近二十多年,计算机系统结构技术已经有了很大的发展。美国著名教授John L. Hennessy和David A. Patterson联手于二十世纪九十年代初出版的《Computer Architecture: A Quantitative Approach》一书在这个领域激起了一阵改革的浪花,它从全新的角度讲述系统结构,受到了同行的高度赞赏,被称为是计算机系统结构的“圣经”。

本文在对国内外系统结构教材进行对比分析和研究的基础上,确定了系统结构课程比较全面的内容体系。

2对国外系统结构教材内容的研究

计算机系统结构的英文是computer architecture,用这个词作为关键词,在国外著名的网上书店、国外著名的出版社Morgan Kaufmann和Prentice Hall的网站以及其他一些网站上进行检索,查到了近五年来的8本主要的系统结构方面的书(到2007年为止):

(1) 书名:Computer Architecture:A Quantitative Approach (3rd Edition),作者:John L. Hennessy,David A. Patterson,出版时间:2002年5月,出版商:Morgan Kaufmann,国内出版社引进情况:电子工业出版社(中),机械工业出版社(英),页数:1136,简称:【Henn3】或【H3】(为了本文的论述方便而采用的简称,下同)。

(2) 书名:Computer Architecture:A Quantitative Approach (4th Edition),作者:John L. Hennessy,David A. Patterson,出版时间:2006年9月,出版商:Morgan Kaufmann,国内出版社引进情况:电子工业出版社(中),机械工业出版社(英),页数:704,简称:【Henn4】。

(3) 书名:Parallel Computer Architecture:A Hardware/ Software Approach,作者:David Culler等,出版商:Morgan Kaufmann,出版时间:1998年8月,国内出版社引进情况:机械工业出版社(中),页数:1100,简称:【Culler】。

(4) 书名:Essentials of Computer Architecture,作者:Douglas E. Comer,出版商:Prentice Hall,出版时间: 2004年8月,国内出版社引进情况:清华大学出版社(中),高等教育出版社(英),页数:400,简称:【Comer】。

(5) 书名:Principles of Computer Architecture,作者:M. Murdocca,V. P. Heuring,出版商:Prentice Hal,出版时间:2000年,页数:640,简称:【Murd】。

(6) 书名:Computer Architecture:From Microprocessors to Supercomputers,作者:Behrooz Parhami,出版商: Oxford University Press,出版时间:2005年2月,页数:575,简称:【Parha】。

(7) 书名:Computer System Arcitecture:A Networking Approach(2nd Edition),作者:Rob Williams,出版商: Prentice Hall,出版时间:2006年11月,国内出版社引进情况:机械工业出版社(英),页数:752,简称:【Willi】。

(8) 书名:Advanced Computer Architecture and Parallel Processing,作者:Hesham El-Rewini, Mostafa Abd-El-Barr,出版商:Wiley-Interscience,出版时间:2005年1月,国内出版社引进情况:电子工业出版社(中),页数:288,简称:【Rewini】。

在这些书中,【Culler】和【Rewini】主要是论述高级体系结构和并行处理体系结构,这部分内容一般是在研究生阶段才学习的,所以,它们不适合作为本科生的教材,但可以作为研究生的教材或参考书。

【Comer】是由美国普渡大学资深教授Douglas E. Comer编写的。该书中共有20章,其中一半以上与我们国内的计算机组成原理课程的内容重叠,而对系统结构的论述又深度不够。【Murd】和【Parha】与【Comer】类似,相当一部分内容属于计算机组成原理的内容。

【Willi】共有23章,篇幅达752页。这本书不仅包含组成原理的内容,而且还包含了操作系统、网络方面的内容,可谓包罗万象。

内容涉及面太广、与“计算机组成原理”课程重复、系统结构内容深度不够等缺点是国外大多数系统结构教材的通病。也许其目的是为了不需要计算机组成原理的铺垫就可以学习系统结构。但国内一般都是先学计算机组成原理,后学系统结构的,所以,这些教材不太适合“中国国情”。

John L. Hennessy和avid A. Patterson编写的《Computer Architecture::A Quantitative Approach》彻底改变了这种状况。这两个人是享誉全球计算机界的著名教授,他们在RISC研究方面取得了卓越的成绩,其研究结果分别形成了MIPS和SPARC系统结构的基础。十多年前,该书第一版一出现,就好评如潮。到去年为止,已经出了4个版本。这是一本在全世界有很大影响的教材,国外很多大学都选用它作为教材。在国外同类教材中,它是最权威、最有影响的一本。它对系统结构进行了深入、全面的阐述,并且在讲述中采用了国际上流行的研究计算机系统结构的方法――量化方法。该书的内容充分反映了当前系统结构的主流发展,而且结构合理、内容新颖、可读性好。我们多年的教学研究和实践表明,采用量化方法的教学效果很好。

这本教材的第3版【Henn3】有1136页,虽然内容丰富,但也太多、太全,难度偏大,我们认为直接作为本科生的教材是不合适的。而且该教材还有工程性太强、对有些经典的计算机系统结构内容没有论述(如向量处理机,数据流计算机等)的不足。这本书的第4版【Henn4】虽然是最新版,但在编排上更像是研究生教材。所以,后面我们将主要以【Henn3】作为参考书,与国内的系统结构教材内容相结合,取长补短,设计“计算机系统结构”课程的内容体系。

3对国内系统结构教材内容的研究

3.1近五年来的主要教材

在计算机专业教材方面,国内最有影响的出版社有:清华大学出版社、高等教育出版社、电子工业出版社、机械工业出版社、科学出版社、人民邮电出版社等。在这些出版社的网站以及在中国互动出版网上,我们用“系统结构”和“体系结构”作为关键词查询,查出了这些出版社在近五年来(到2007年为止)出版的所有计算机系统结构教材情况如下:

(1) 清华大学出版社:4本。作者分别是郑纬民、李学干、尹朝庆、周立等。

虽然郑纬民的那本是1998年出的,但因为它是国内比较经典的一本计算机系统结构教材,所以,把它也列为研究的对象。李学干的那本也是比较经典的,是“十一五”部级规划教材。其前身是庄编写的计算机系统结构教材。25年前笔者上大学时就使用过。

(2) 高等教育出版社:1本,作者是张晨曦等。这本书是“十五”部级规划教材。

(3) 电子工业出版社:2本,作者分别是陈建铎和徐炜民等。徐炜民那本是“十五”部级规划教材。

(4) 机械工业出版社:1本,作者是田俊峰等。

(5) 科学出版社:1本,作者是白中英等。

(6) 人民邮电出版社:1本,作者是张先俊等。

这10本系统结构教材的详细信息如下。

(1) 书名:计算机系统结构(第2版),作者:郑纬民等,出版社:清华大学出版社,出版时间:1998年9月,页数:731,简称:【郑】。

(2) 书名:计算机系统的体系结构(“十一五”部级规划教材),作者:李学干,出版社:清华大学出版社,出版时间:2006年1月,页数:333,简称:【李】。

(3) 书名:计算机系统结构教程,作者:尹朝庆,出版社:清华大学出版社,出版时间:2005年4月,页数:292,简称:【尹】。

(4) 书名:计算机系统结构,作者:周立等,出版社:清华大学出版社,出版时间:2006年12月,页数:259,简称:【周】。

(5) 书名:计算机体系结构(第2版)(“十五”部级规划教材),作者:张晨曦等,出版社:高等教育出版社,出版时间:2005年6月,页数:328,简称:【张】。

(6) 书名:计算机系统结构(第2版)(“十五”部级规划教材),作者:徐炜民等,出版社:电子工业出版社,出版时间:2003年7月,页数:274,简称:【徐】。

(7) 书名:计算机系统结构教程,作者:陈建铎,出版社:电子工业出版社,出版时间:2006年2月,页数:249,简称:【陈】。

(8) 书名:计算机系统结构,作者:田俊峰等,出版社:机械工业出版社,出版时间:2005年10月,页数:274,简称:【田】。

(9) 书名:并行机体系结构(第二版),作者:白中英等,出版社:科学出版社,出版时间:2006年1月,页数:200,简称:【白】。

(10) 书名:计算机系统结构,作者:张先俊等,出版社:人民邮电出版社,出版时间:2006年2月,页数:292,简称:【张2】。

3.2教材内容对比分析和研究

我们购买了所有这些教材以及【Henn3】(简称为【H3】)和【Henn4】原版教材,对其内容进行了仔细的研究和比较,并作出了我们的选择。

我们采用了以下选取原则:

(1) 重点选取已被现代计算机广泛采用的比较成熟的结构、方法和技术等;

(2) 经典与现代相结合,理论与实用相结合;

(3) 强调采用量化分析方法,减少大量冗长的定性论述;

(4) 突出重点内容和核心思想,避免繁杂;

(5) 减少与先修课程的重复;

(6) 根据学科和专业的定位以及学时数来取舍。

首先是在知识模块方面进行研究。我们找出了这些书的知识模块的一个合集,其组成为:①计算机系统结构的基本概念;②指令系统结构的设计;③流水线技术;④向量处理机;⑤指令级并行的开发――硬件方法(新);⑥指令级并行的开发――软件方法(新);⑦存储系统(存储层次);⑧输入输出系统;⑨互连网络;⑩多处理机; 机群计算机(新); 阵列处理机(也称并行处理机,SIMD计算机); 数据流计算机(经典); 知识库机; 智能机; 归约机; 数据库机; 脉动阵列机; 相联处理机。

其中①~④和⑦~⑩是大多数教材都有的,可以说它们是核心知识模块。指令级并行是提高计算机性能的重要措施,目前的大多数微处理器都采用了这个技术,所以⑤和⑥也是比较重要的内容,特别是⑤,应该也选作核心知识模块。

在高性能并行计算机中,机群是近年来发展势头最为强劲的一种结构。在全球高性能计算机500强(Top500)排名中,尽管到1997年6月才首次有机群结构的计算机进入该排名,但此后入选的机群系统的数量逐年稳步增加。到2003年11月,这一数字已达到208台,机群首次成为Top500排名中比例最高的结构。截至2008年6月,已经连续10期位居榜首。机群已成为当今构建高性能计算机系统时最常用的结构。因此, 也应该选作核心知识模块。

数据流计算机能够充分开发程序中的并行性,曾被认为是具有很好前景的高度并行的新型计算机。虽然数据流计算机的研究尚未达到实用水平,但其核心思想具有很大的参考价值的。对于要求较高的系统结构课程来说,是应该包含的。

~ 是一些专用性太强的机器结构,并没有得到广泛的应用,大多数的教材也不包含这些内容,所以我们没有选择它们。

阵列处理机在计算机并行性的发展中有重要的地位,也属于比较经典的内容。对于要求较高的系统结构课程来说,是应该包含的。

综合考虑上述各知识模块的重要性以及学时数,我们选择出以下两种方案。

方案A:48学时左右

①计算机系统结构的基本概念;②指令系统结构的设计;③流水线技术;④向量处理机;⑤指令级并行的开发――硬件方法(新);⑥存储系统(存储层次);⑦输入输出系统;⑧互连网络;⑨多处理机;⑩机群计算机。

方案B:60学时左右

与方案A相比,增加了3个模块:指令级并行的开发――软件方法、阵列处理机、数据流计算机。

3.3部分教材的特色

(1)【郑】共有731页,内容丰富,是一本大而全的书。该书是国内很经典的一本系统结构教材,但对于本科生来说,内容太多、书太厚,作为系统结构参考书倒是非常好。该书第2版为1998年出版。

(2)【李】也是国内比较经典的一本系统结构教材。之所以称它为经典,主要是因为其前身是庄编写的系统结构教材。25年前我们上大学时就使用过。

(3)【白】是网络版,只有200页,但该教材框架清晰、重点突出、语言简练。

(4)【张】借鉴了【H3】的讲法和内容,内容比较新,但缺少数据流计算机等一些经典内容和机群计算机的内容。

(5)【徐】中有这样一章:“分布计算环境结构”,这是所有上述教材中所没有的。另外,该书的第二章为“计算机系统结构”,概述了系统结构的方方面面,这也是其他教材中所没有的。

4课程内容体系

在上述对国内外系统结构教材进行分析和研究的基础上,我们确定了系统结构课程的内容体系,如下所示。

第1章绪论

包含5节:引言,计算机系统结构的概念,计算机系统的性能评测,计算机系统结构的发展,并行性的发展。

第2章计算机指令系统的设计

包含5节:指令系统的分类,寻址方式,指令系统的功能设计(包括RISC和CISC),指令格式的优化设计,MIPS指令系统。

第3章流水线技术

包含6节:重叠执行和先行控制,流水线的基本概念,流水线的性能分析,非线性流水线的调度,流水线的相关与冲突,流水线的实现(以MIPS流水线为例)。

第4章向量处理机

包含5节:向量处理方式,向量处理机的结构,提高向量处理机性能的方法,向量处理机的性能评价,向量处理机实例(Cray-1,Cray Y-MP和C90)。

第5章指令级并行性及其开发――硬件方法

包含5节:指令级并行的概念,指令的动态调度(包括记分牌算法和Tomasulo算法),动态分支预测技术,基于硬件的前瞻执行,多指令流出技术(包括超标量、超长指令字、超流水技术)。

第6章指令级并行性的开发――软件方法

包含6节:循环展开和基本指令调度,跨越基本块的静态指令调度,静态多指令流出:VLIW技术,显式指令并行执行EPIC,开发更多的指令级并行,实例:Intel Itanium 处理器。

第7章存储器系统

包含8节:存储器的层次结构,Cache的地址映象与地址变换,降低Cache失效率的方法,减少Cache失效开销的方法,减少命中时间的方法(包括虚拟Cache等),并行主存,虚拟存储器(简单),存储层次实例。

第8章输入输出系统

包含5节:I/O系统性能与CPU性能,I/O系统的可靠性、可用性和可信性,廉价磁盘冗余阵列RAID,通道处理机,I/O与操作系统。

第9章互连网络

包含4节:互连网络的基本概念(包括互连函数和互连网络的特性参数),静态互连网络,动态互连网络(包括互连网络的例子),消息传递机制。

第10章多处理机

包含6节:引言,对称式共享存储器系统结构(包括监听法多Cache一致性协议及其实现),分布式共享存储器系统结构(包括目录法多Cache一致性协议及其实现),同步,同时多线程,多处理机实例(Origin 2000, Sun T1)。

第11章机群计算机

包含7节:机群的基本概念和结构,机群的特点,机群的分类,机群的通信技术,并行程序设计环境,机群的负载平衡技术,机群系统实例(包括Berkeley NOW和IBM SP2)。

第12章阵列处理机

包含4节:阵列处理机的操作模型,阵列处理机的结构和特点,阵列处理机的并行算法,阵列处理机实例(包括ILLIAC Ⅳ和BSP)。

第13章数据流计算机

包含5节:数据流计算机的基本原理,数据流计算机模型,数据流程序图和数据流语言,静态数据流计算机结构,动态数据流计算机结构。

5教材

在上述工作的基础上,我们编写出版了以下两本系统结构教材:

(1)《计算机系统结构教程》

由清华大学出版社于2009年5月出版。包含了上述13章的内容,63万字。与下面高教出版社的教材相比,更适合于重点大学(48~64学时)。该教材的详细信息见/45835&ref=ps。

(2)《计算机系统结构》

由高等教育出版社于2008年6月出版,45万字。包含了上述13章中最重要的部分:计算机系统结构的基本概念,计算机指令集结构,流水线技术(含向量处理机),指令级并行,存储系统,输入/输出系统,互连网络,多处理机,机群计算机,共9章。与上面清华大学出版社的教材相比,该教材更适合于普通院校(36~48学时)。该教材的详细信息见/208975&ref=ps。本课程的精品课程网站:。

参考文献:

[1]John L. Hennessy, David A. Patterson. Computer Architecture:A Quantitative Approach[M]. 3rd Ed. San Mateo, CA: Morgan Kaufmann,2002.

[2] 郑纬民,汤志忠. 计算机系统结构[M]. 2版. 北京:清华大学出版社,1998.

[3] 李学干. 计算机系统的体系结构[M]. 北京:清华大学出版社,2006.

Study of Contents of Computer Architecture Course

ZHANG Chen-xi1, WANG Zhi-ying2, LIU Yi1, SHEN Li2

(1. School of Software Engineering, Tongji University, Shanghai 201804, China; 2. School of Computer Science, National

计算机体系结构篇(2)

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)32-0260-02

随着现代信息技术的飞速发展,算机已经成为系统设计及信息处理的核心工具。体系结构软件模拟技术对于计算机系统而言是必不可少的技术手段,通过体系结构软件模拟技术能够不但最大程度的降低系统设计的费用以及时间,而且也极大提高了设计效率和质量。计算机体系结构软件模拟技术说白了就是通过现有的计算机应用软件,对系统硬件在计算机系统结构中的使用情况以及性能进行模拟,由于计算机体系结构软件模拟技术具有一定的技术优势和成本优势,因此,其目前已经成为计算机系统设计中必不可少的手段。

1 计算机体系结构软件模拟技术的发展过程及其现状

计算机体系结构软件模拟技术是在计算机系统内部的中央处理单元的变化下产生的。二十世纪末,计算机系统是利用数据信息驱动技术来收集计算机运作的数据信息,并完成执行程序指令。另外,数据信息驱动技术深入把握计算机的运作数据信息,并对计算机系统内部中央处理单元的组成结构以及其具备的特点做详细的分析研究,并坚持其所存在的漏洞问题。因此,数据信息驱动技术在当时也被称为基于执行程序指令而形成的一种静态模拟技术[1]。

随着计算机技术的不断发展,因此,在计算机数据信息驱动技术研发的基础上,也就出现了能够分析计算机性能技术。分析计算机性能技术不仅提高了计算机设计结构质量,而且也实现了降低计算机技术的研发成本以及计算机系统设计的失败概率。此后,分析计算机性能技术广泛应用于各个领域。但由于其不能够准确地反映出计算机系统内部的一些细小问题,且适用范围较小,因此,计算机系统设计人员为了提高了精确程度,扩大适用范围,于是对该技术再次进行改进完善,于是计算机体系结构软件模拟技术就在这个背景下诞生了。

据有关数据表明,计算机中央处理器目前的研究和设计过程中,有百分之六十的科研经费都被投入软件模拟和性能评估两方面。从理论上讲,软件和硬件相比,前者的开发成本及周期要远远低于后者的开发成本和周期,并且软件开发比硬件开发要简单。从这个角度来说,灵活性强以及成本低是计算机体系结构软件模拟技术得到推广使用的主要原因。然而,由于计算机体系结构软件模拟技术的研发的技术性要求极强,所以其也面临着众多技术难题,这些难题对其发展都起到了阻碍作用[2]。

2 与计算机体系结构软件模拟技术相关的一些概念

计算机系统的体系结构经过几十年的发展,现已逐渐建立较为成型的技术规范,在计算机体系结构发展的过程中,有不少具有创造性的模拟技术出现,而且其相关概念也在完善中,但是部分概念由于字面意思非常相近,所以人们都习惯性的将其画上等号,例如仿真和模拟两个概念,通过以下定义区分开模拟和仿真两个概念。

1)计算机体系结构仿真

计算机体系结构仿真是指通过计算机硬件或软件的方式,对计算机模拟器产生的某种模拟结果进行模仿。计算机结构仿真的主要目的是在另一个计算机上实现一个已知的计算机系统功能,使另一个计算机能够实现与原计算机系统一样的计算结果,而对于计算过程是不太重视的。

2)计算机体系结构模拟

计算机体系结构模拟则是根据硬件或软件的工作状态来模拟计算机系统的计算过程,其主要目的是为了开发和预测计算机未来的功能和性能,因为是研究计算机的计算过程,所以对于计算结果也不太重视。

随着计算机体系结构模拟技术的发展,计算机体系结构的仿真渐渐属于计算机体系结构模拟,因为体系结构模拟要先通过正确的输出结果来预测模拟方式是否可行,其次在研究计算的过程。例如在计算体系结构模拟过程中,模拟器运行是按照一个程序进行的,而承载模拟器的主机则是按照领一套程序进行的,这样就会造成指令冲突。因此必须要将模拟器上的运行指令实先翻译为主机上的程序指令,那么能实现由模拟器指令转化为主机运行指令的工具称为指令集仿真器。从这个角度来说,计算机体系结构仿真已经成为了计算机体系结构模拟的一部分,是计算机体系模拟的基础条件。

3 计算机体系结构软件模拟的分类

3.1 体系结构模拟器分类的分类

1)计算机体系结构模拟器的分类标准多种多样,根据处理器的实际数量,计算机体系结构可以分为单个处理器和多个处理器系统模拟两种。单个处理器是利用一个处理系统模拟器来进行系统软件模拟工作,而多处理器是由多个处理器共同工作,从而实现内存资源共享。根据模拟目标的差异,模拟器又可分为功能模拟、耗能模拟、性能模拟及发热模拟技术[3]。其中性能模拟与其他三个模拟相比,其发展的最迅速。但是随着计算机系统的快速发展,人们越来越关注的是计算机的耗能问题,因此,耗能模拟在不久将会成为计算机系统设计的关键。另外,模拟器还可以根据开发模式进行划分,可分为串行结构和并行结构,其中串行结构是利用C语言的编程语言执行编程指令的,能够实现直接描述计算机系统。

计算机体系结构篇(3)

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)22-0206-01

21世纪,计算机科学技术正在飞速的发展,计算机的性能也越来越优化。计算机体系结构的软件模拟技术已成为计算机系统运行的必要环节之一。而且所发挥的作用也越来越重要。计算机体系结构的软件模拟技术具有很多先进性和优点,发展好计算机体系结构的软件模拟技术会大大降低计算机系统的成本,提高工作效率,减短生产的时间,同时使设计的时间大大降低。但是,计算机体系结构的软件模拟器的研发难度非常大,过程非常复杂,由于技术的限制,使得软件模拟技术的发展运用过程漫长而艰难,致使其的有效作用不能正常发挥。因此我们必须不断克服困难,不断加强计算机体系结构的软件模拟技术的开发和研究,使其对计算机系统的使用和人们的生活发挥更大的作用。

1 关于计算机体系结构的软件模拟技术

为了制造出符合要求的处理器,必须对样品进行各种各样的应用试验,并对各种应用试验的结果进行评定,这就需要生产出大量的处理器,在生产大量的处理器之前要事先设计制作出多个样品处理器,然而制造处理器需要耗费过多的金钱和时间,所以这一方法并不可行,因此计算机体系结构的模拟技术这一概念被人提出来。

关于计算机体系结构的模拟技术,“仁者见仁,智者见智。”不同的人定义不同,也有人称之为仿真技术。即为了检测实用计算机的可行性,要求两者在很高的相似度的情况下来模仿计算机的处理过程。计算机结构和全部计算机结构是计算机体系结构的两个重要组成部分。计算机体系多种多样,划分标准不同,分类不同。包括可以从数量方面、指令方面、损耗角度、模拟器的角度分为单核或多核处理器模拟,单指令或多指令模拟结构,执行或开发模拟结构,性能或能耗模拟结构等。因此,我们可以看出计算机体系结构复杂繁琐,虽然增加了研究开发的困难,但是同时又为我们的研究提供了必要的参考,利弊均有。

2 计算机体系结构的软件模拟技术的现状

早在20世纪80年代,就已经产生了计算机体系结构的软件模拟技术。随着时间的推移和科学技术的发展,越来越成为计算机系统进行设计的重要办法。因为该技术具有成本低、技术先进等其他技术不具有的优点。调查研究显示,科研人员将大部分研究经费投入到该技术上,包括技术的开发和性能的评测。计算机体系结构的软件模拟技术之所以能够得到快速的推广是因为它的软件开发成本低且具有灵活性,周期短和较好的便捷性也是其不得不说的优点。但是计算机软件模拟技术的开发对于技术水平的要求比较高,因此在其开发的过程中遇到许多诸如模拟器处理精度小等问题,计算机体系结构的软件模拟技术发展曲折又艰难。各部件能够和谐有效的工作是计算机系统工作的中心,然而这一目标却很难实现。计算机体系结构在这种思想的指导下对系统进行层次上的简化,然而即使简化成功,由于目前的研发水平过低,系统的发展创新还是难以突破。除此之外,由于开发的不合理或者操作不正确使得计算机系统软件的模拟运行器的运行时间较长,精度变低。

3 计算机体系结构的软件模拟技术的未来分析

经济社会在飞速的向前发展,随着人们生活水平的不断提高,消费需求和生活质量的要求也是越来越高,而这些东西的发展都是以科学技术的发展为前提的。因此计算机体系结构的软件模拟技术越来越需要研发技术高的高精尖人才。所以顺应时代要求,不断提高自身的技术知识储备,从以往的经验中吸取优秀的成果,站在前人的肩膀上进行新的创新,重视自身的素质水平并且不断对其进行提升,不断努力钻研。促进人类社会的发展和计算机体系结构的模拟技术的提高。

计算机体系结构的模拟技术是一门复杂的技术。仅靠我们自己现有的技术水平是很难有突破的,所以我们应尝试不同的研究路子,在尊重本国的技术的通知,对外来先进的技术经验进行借鉴,取其精华,弃其糟粕,将计算机体系结构的软件模拟技术不断的进行创新。促进技术的快速发展。同时要抓住研究重点,有目的的进行开发研究,虽然我们的有些技术已经发展到一定的水平,但是我们仍应该不断的进行深入的研究和创新,因为用户的需求标准不断提高,所以我们必须不断提高我们的技术水平,不能止步不前。

模拟器的发展是漫长的,回顾整个过程,找出之后要研究的重点是我们现在一个该做的。

我国目前只有少数几家机构在对其进行开发和研究,然而从大时代背景来看,计算机体系结构模拟技术将会一直成为计算机技术研究的热点,我们已经在模拟器的研发和产品的设计的方面取得了一定的成果,就更要在这个基础上研发出个更好的技术,提高我国的科技实力和综合竞争力,提高我国的计算机技术水平,要投入更多的经费和科研人员到该技术的开发和研究上来,这样才能提供更多的思路,集众人智慧,在没有后顾之忧的情况下放心大胆的探索、研究和创新。推动计算机体系结构软件模拟技术得到实质性进步。

4总结

随着经济的飞速发展,计算机体系结构的软件模拟技术在计算机系统的研发中和人们的日常生活中越来越重要,这就要求我们必须加快计算机系统的更新速度,通过对中央处理器进行设计,使计算机处理器的系统设计效果得到提升。计算机体系结构软件模拟技术因其自身成本低效率高、灵活性和便捷性使其备受关注。同时它的技术研究也成为研究重点。然而因为我国的研究水平有限,所以我们研究时要考虑的情况更多,不仅要考虑到我国当前的实际技术情况,同时要虚心借鉴外来优秀技术及经验,通过对外来技术的运用实验,来推动我国计算机体系结构的软件模拟技术的发展,从而更好的服务经济社会。

参考文献:

[1] 张世新,周磊. 试析计算机体系结构软件模拟技术[J]. 计算机光盘软件与应用,2015(1):84-85.

计算机体系结构篇(4)

中图分类号:640文献标识码:A文章编号:1009-3044(2008)18-21ppp-0c

Research and Practice of the Computer Architecture Course System for Applied Type Undergraduate

CAI Qi-xian1, WANG Zhi-wen1,HE Hai-zhao2

(1.Department of Computer Engineering, Guangxi University of Technology, Liuzhou 545006, China; 2. Library, Guangxi University of Technology, Liuzhou 545006, China)

Abstract:According to the applied type the profession education characteristics and teaching goal, form the new Computer Architecture course system with increasing microcomputer architecture contents and introduce into the DLX virtual processor experiments. And make use of the information technique, work hard to carry out a stereo course, that enhance teaching quality of the course.

Key words: Computer Architecture; Course system; DLX virtual processor; Stereo course

1 引言

计算机系统结构历来为高校计算机科学与技术专业必修的主干专业基础课。计算机的发展历史说明,计算机性能的不断提高必须依靠器件的变革和系统结构的改进。今天,在器件潜力几乎达到极限的情况下,计算机系统结构的改进尤为重要。该门课程主要反映现代计算机在系统结构上的新思想新技术,如流水线处理、向量处理、并行处理、多处理机结构等等,要求学生从分析和评测的角度把握计算机系统的设计。这对培养学生掌握和应用现代计算机系统来处理复杂计算问题具有重要意义,也为学生今后从事计算机系统软硬件开发打下良好的基础。对这样一门核心课程,如何突出地方院校应用型人才培养特色,研究和提高本课程的教学质量,给我们提出了新的挑战。

国家教育部在《高等教育面向21世纪教学内容和课程体系改革计划》中明确指出要“面向21世纪社会、经济、科技、文化的发展,改革我国高等教育中与其不相适应的教学内容和课程体系。”,该计划把 “基础课程、核心课程的教学内容体系及教材;教学手段、教学方法的创新。” 列为改革的主要内容[1]。因此,在现代计算机技术日新月异、计算机应用迅猛扩展深入的今天,在高校教育逐步由精英教育向大众化教育转移的今天,在地方经济发展大量地普遍地需要工程应用型计算机人才的今天,必须重新审视这门课程的现状和特点,按照应用型人才的培养目标和定位,构建新的计算机系统结构课程体系,从而提高该课程的教学质量。

2 计算机系统结构课程的特点

计算机系统结构课程具有下述特点:

1) 综合性强。计算机系统结构一般安排为计算机专业高年级课程,它需要用到几乎所有计算机专业基础和相关的前继专业课程知识。主要有:计算机组成原理、汇编语言程序设计、高级语言程序设计、数据结构、操作系统、编译原理等课程。教学中要求学生对各课程知识融会贯通,教学难度较大。

2) 理论性强。内容抽象繁杂,概念多,教学处理不好的话,容易让学生感到学习乏味,明显增加了教学难度。

3) 本课程教材内容多是针对大中型计算机系统描述,常以一般学生接触不到的机型作为系统结构举例,而结合微机应用实际,结合现代微机系统结构技术的发展的内容几乎没有,严重脱离学生实际。

4) 缺乏实验环境,学生无法获得对计算机系统结构性能改进的直观认识。如果真正要求学生对其理论与技术有直观的接触,则需要深入到现代大中型计算机内部进行实践,这对我国绝大多数高校来说是不可能做到的。因此,长期以来,我国高校在开设这门重要课程时,仅仅停留在理论讲授上,相应的实践教学尚是空白,学生面对枯燥理论,学习兴趣大减,这对提高教学质量带来极大障碍。

3 新课程体系的研究和建设

针对这门课程的原有特点和不足,我们从以下三方面更新了该课程体系的研究和建设:

1) 修改教学要求,明确教学目的。

我们把对现代微型计算机系统结构的分析和评测作为学生意义构建的主要目标。很难想象,一个生活工作在微机广泛应用的信息化时代的计算机高级技术人员,如果对微机的系统结构知之甚少,又怎么能够用好微机呢?因此,在认识和了解一般计算机系统结构新技术的基础上,加强对微机系统结构的教学是完全必要的。

2) 在总的教学目标要求下,大刀阔斧地对教学内容进行重组,构建符合教学目标,既有理论又有实践的新的课程体系。

我们积极开展本课程教学内容改革,注意吸收国内外同类教材教学思路,结合地方经济发展对计算机人才知识结构的要求,在教学内容上进行压缩和扩充,精简了有关大中型计算机的过多介绍,增加和突出微机上常用的新的系统结构,突出基本知识,注意和前继课程的内容贯通,形成具有自己特色的教学内容和教学大纲。

理论上,既讲清一般原理,又紧密结合微机系统结构。比如,结合80X86指令系统,阐述从CISC到RISC的发展;在介绍各项新技术时,尽量例举微机上应用相关技术的实例。如Pentium的4级整数流水线、8级浮点流水线,Pentium的分支预测策略等。我们还以“奔4:奔腾不已的‘芯’”为题,专门介绍Pentium 4的NetBurst微结构,从Willamette核心、Northwood核心到Prescott核心的不断发展,所面临的问题及Core微架构的面世,同时还涉及到同时代CPU产品的竞争情况。应该说,结合系统结构的原理比较全面地介绍了与学生密切相关的微机的系统结构。

如何在常规的条件下例如利用普通的微型计算机,让学生直接用到有关计算机系统结构的新思想和新技术,得到实践学习的机会,从而大大提高学生对现代计算机系统的认识,大大提高这门重要课程的教学效果,值得我们花大气力进行研究。为此,我们引进了DLX虚拟处理器实验。

DLX处理器是1995年美国斯坦福大学的John L.Hennessy和加利福尼亚大学伯克利分校的David A.Patterson在其“Computer Architecture-A quantitative approach”一书中首次提出的一个虚拟的32位处理器。该处理器不仅体现了当今多种机器(如AMD 29K,DEC station 3100,HP 850,IBM 801,Intel i860,MIPS M/120A,MIPS M/1000,Motorola 88K, RISC I,SGI 4D/60, SPARCstation-1, Sun-4/110, Sun-4/260等)系统结构的共同特点,还将体现未来一些机器的设计思想[2]。特别是,DLX虚拟微处理机提供了一个基于PC机的研究平台,研究者可以在PC机上模拟新的处理机技术。清华大学著名教授郑纬民在其著作中专门介绍了DLX虚拟微处理机,并指出:“通过了解DLX处理机的结构和工作原理,并利用DLX模拟器进行实验,可以帮助读者综合地了解和运用有关处理器指令系统的设计、流水线的设计与实现等方面的知识,有助于对本书前面章节所述内容的理解。”[3]

我们在全面了解DLX虚拟处理器的结构和工作原理的基础上,探讨从“软”的角度,利用DLX虚拟处理器进行处理器指令系统的设计、流水线的设计与实现、并行处理的设计与实现等带有新一代处理器思想和技术的实践教学体系,总结出有典型教学意义的实验[4~6];并编写相关的实验教材,注重设计性和综合性实验的训练。比如,让学生通过实验软件,模拟采用旁路技术消除数据相关,采用增加运算单元的方法消除控制相关,采用优化程序的方法来提高流水线的性能等。此外,我们开辟了一些有关Cache、CPU性能测试的实验,形成一套计算机系统结构实践教学体系。这是一项难度较大的具有开创意义的教学研究工作。

3) 革新教学方法手段,利用信息化技术,努力构建立体化的课程体系。

我们自行制作CAI课件,以多媒体的形式精心展现课程内容,形象地讲解理论,化解难点,融汇前继课程知识,虽然为此付出了很大的心血,但是保证了全部理论课在多媒体电教室上课,取得了很好的教学效果。同时研制实践教学软件,以多媒体形式介绍实验内容和操作过程,并以网络课件形式提供给本校学生,以便学生实验前自学。

我们充分利用校园网环境,建立一个以本门课程为主的基于校园网的教学网页,不仅有覆盖全部教学内容的CAI课件,还有与网络电子教案配套的课程介绍、信息、教师答疑、名词解释词典、教学论坛、实验探索、习题与题解、相关链接等辅助网络资源。

在课堂教学上除了用多媒体教学外,还积极探索开展课堂讨论,通过“协作”、“会话”等方式引导学生主动学习,在此基础上,撰写高质量的小论文,很多小论文体现了学生课堂讨论的成果。

本门课程的改革成效已初见端倪,学生们普遍反映,这门课程好学实用,学了后眼界开阔,有助于全面把握专业知识。在学生评教活动中,本门课程得到了较高的评价。

总之,一门课程体系的构建,必须与所属专业办学定位和学生实际相适应,必须与社会需求相适应,必须与学科领域技术发展相适应。目前,我们仍在对该课程的立体化和信息化方面进行研究、探索,力求完善课程的理论体系、实践体系和网络学习环境,进一步提高该课程的教学质量。

参考文献:

[1] 国家教育部. 高等教育面向21世纪教学内容和课程体系改革计划.

[2] John L.Hennessy, David A.Patterson. 郑纬民, 汤志忠, 汪东升, 等译. 计算机系统结构:一种定量的方法(第二版)[M]. 北京:清华大学出版社,2002.

[3] 郑纬民, 汤志忠. 计算机系统结构(第2版)[M]. 北京:清华大学出版社,1998.

[4] 蔡启先,李日初. DLX处理器整数流水线性能的研究[J]. 计算机应用, 2005,25(12B):374-376.

[5] 蔡启先,李日初. DLX处理器浮点数流水线性能的研究[J]. 计算机工程,2006, 32(9):222-224.

[6] 蔡启先, 李日初,王智文. DLX虚拟处理器流水线向量运算的性能研究[J]. 广西工学院学报, 2007,18(1):43-47.

计算机体系结构篇(5)

中图分类号:TP311文献标识码:A

文章编号:1004-373X(2010)08-0051-03

Study on Performance Computing Software Architecture for Stochastic Petri Net

DING Jing, HAN Qiang

(School of Computer Science and Engineering, The North University for Ethnics,Yinchuan 750021, China)

Abstract:For the purpose of establishing software architecture with stochastic Petri net, the architecture of the system was designed to realize with the methods of object-oriented system analysis and design, functions of each module based onrequirement analysis of performance calculation softwares. The performance calculation software architecture composed of three modules: man-machine conversation module, master module and performance calculation module is proposed. The software architecture is suitable for the performance calculation software based on the basic modeling theory.

Keywords:stochastic Petri net; software architecture; software development; object-oriented method

0 引 言

Petri网是1962年由德国波恩大学的著名科学家Carl Adm Petri 在他的博士论文《用自动机通信》中首次提出来的,其目的是以它作为研究计算机系统中各组成部分之间的异步通信的数学模型。早期的Petri网没有引进时间概念(称之为基本Petri网),它主要用于系统逻辑行为的描述和逻辑性质的研究,即系统定性时态性质的研究\。20世纪80年代初,Molloy提出了随机Petri网(Stochatic Petri Nets,SPN),即在每个变迁的可实施与实施之间联系一个随机的延迟时间。SPN的可达图同构于一个连续时间齐次马尔科夫链,可用马尔科夫随机过程求解各标识稳定状态概率,即基础性能数据,并由基础性能数据计算各扩展性能数据,从而为基于SPN目标模型的性能分析工作奠定基础。同时,Petri网在软件测试、语义Web服务方面具有广泛的应用范围\。

一个软件系统被分成许多模块,模块之间有相互作用,组合起来有整体的属性,就具有了体系结构。在基于具有高复用性的构件和体系结构的软件开发方法下,程序开发模式也相应地发生了根本变化。软件开发不再是“算法+数据结构”,而是依托以软件构件/构架技术为核心的软件生产线\,将应用系统的软件开发过程变为“问题定义软件需求分析软件体系结构软件设计软件实现”,可认为软件体系结构架起了软件需求分析与软件设计之间的一座桥梁\。

1 软件体系结构总体设计

1.1 随机Petri网与软件体系结构的关系及定位

软件体系结构是设计抽象的进一步发展,能够更好地理解软件系统,方便地开发更大、更复杂的软件系统的需要。建立软件体系结构的目的是通过对主要任务的需求分析,建立该软件的逻辑模型,并依据逻辑模型采用某种软件开发方法将需求映射到相应的软件模块中,随着软件模块可复用性的提高,软件模块向可复用构件转化,同时建立模块/构件之间的接口,最终建立软件体系结构。

随机Petri网性能计算软件的体系结构研究是本文的主要任务,在建立该软件体系结构之前,必须确定清楚二者的关系及定位。随机Petri网定位于该软件如何建立系统模型的理论依据,因此相应数据结构必然以随机Petri网为准,软件体系结构定位于该软件采用何种体系架构组织安排上述任务。二者在软件过程中分别扮演问题域理论基础和解域结构基础的角色,二者相互配合在本文选择的解域理论基础――面向对象的分析设计及人机接口等方法和技术\9\〗、瀑布模型的过程指导下共同服务于该软件的分析与设计。

1.2 软件基本需求

根据软件总体任务的需求分析,该软件需要满足的需求可分为三部分:

(1) 实现随机Petri网模型的建立,该项需求进一步划分为模型的输入、修改、删除以及模型中各元素性能参数的录入。在具体表现形式上,采用图形化界面配套菜单及对话框选项等方式实现。

(2) 实现随机Petri网模型的计算,该项需求进一步划分为依据随机Petri网模型建立同构的马尔科夫方程、解马尔科夫方程、依据解获得基础性能数据、依据基础性能数据和结果集参数获得扩展性能数据。

(3) 实现随机Petri网模型性能的输出,该项需求进一步划分为性能输出结果集参数的输入、结果集的输出。在具体表现形式上,采用具有多个选项的对话框方式实现。

1.3 软件总体框架结构

根据上述需求分析,结合本文研究重点,初步建立起由三个模块共同组成的软件体系结构,即:

(1) 主控模块:该模块是软件运行的组织核心。它以循环方式运行,仅当用户选择退出菜单时结束软件整体的运行。在循环过程中,它负责协调其他模块负责随机Petri网模型的建立、计算和性能结果集的选项输入及结果输出。

(2) 人机交互模块:该模块是软件的界面。它以图形配合菜单及对话框以人机交互方式完成随机Petri网模型的建立;它以对话框方式完成性能输出结果集参数的录入和结果的输出。

(3) 性能计算核心模块:该模块是软件的实现关键。它以后台方式运行,依据随机Petri网理论公式,根据已建立的随机Petri网模型计算基础性能数据,依据基础性能数据和结果集的输入参数计算扩展性能数据。

通过上述分析,初步给出随机Petri网性能计算软件的软件体系结构是:人机交互模块-主控模块-性能计算模块,详见图1。考虑到该软件是以单用户方式、每次计算完成用户一次结果集输入参数的计算为主,将该软件设计为串行方式运行。

2 软件体系结构详细设计

2.1 主控模块详细设计

主控模块循环调用人机交互模块和性能计算模块,在图形化窗口中分别以图形方式显示最新的随机Petri网图,以结果集对话框方式显示基础性能数据和扩展性能数据。具体流程设计见图2。

图1 随机Petri网性能计算软件总体框架结构

2.2 接口设计

结合该软件总体任务和本文研究重点,考虑到今后向提高模块可复用性、软件体系结构抽象性和可复用性的方向发展,决定采用面向对象的开发方法对本文重点进行研究。根据面向对象开发方法的指导流程,应该按照抽象原则,构建软件体系结构中的模块和接口,而模块和接口均可以按照具体的需要以类的方式静态表示。

根据前节的软件基本需求,三个模块的功能已经规划完毕,重点是建立彼此之间的接口。理论上三个模块之间应该有三个接口,但是该软件由主控模块统一协调其余两个模块的运行,因此仅有两个接口,分别代表软件运行数据的输入和输出方向。具体是,输入方向:随机Petri网类、结果集参数类;输出方向:结果集基础性能参数类、结果集扩展性能参数类。

由于上述接口中除随机Peitri网类外,其他三个类均与结果集密切相关,因此在具体设计中将其合并到一个结果集类中集中反映,便于具体模块的设计。

根据上述分析,最终确定该软件三个模块的两个接口是:

(1) 随机Peitri网类

成员:库所数组、变迁数组、弧数组、图元半径;

操作:添加库所、添加变迁、添加弧、清除数组、删除库所、删除变迁、删除弧、绘画随机Petri网、选择库所/变迁/弧。

(2) 结果集类

成员:库所数、变迁数、可达标识数、可达标识矩阵、转移速率矩阵、稳定状态概率数组;

操作:建立马尔可夫链,解马尔可夫链、计算状态驻留时间、计算状态等待时间、计算库所标记概率密度函数。

上述接口在软件运行过程中的作用是:

(1) 输入方向

① 用户通过人机交互模块以图形化方式建立随机Peitri网模型,以随机Peitri网类为接口传递给主控模块;主控模块将随机Peitri网类传递给性能计算模块,交由其计算基础性能数据,写入结果集类。

② 用户通过人机交互模块输入结果集参数,以结果集类为接口传递给主控模块;主控模块将结果集类传递给性能计算模块,交由其根据随机Peitri网类和结果集类计算扩展性能数据,写入结果集类。

③ 输出方向:

性能计算模块将基础性能数据和扩展性能数据写入结果集类传递给主控模块,主控模块将其传递给人机交互模块,交由其以对话框方式展示\。

图2 主控模块流程设计

3 结 语

作为描述目标系统的基本理论和分析评价系统性能的重要手段之一,随机Petri网自提出以来,日益受到学术界和产业界的关注。通过分析设计随机Petri网性能软件,得出关于计算随机Petri网的通用软件体系结构模型。这里的重点是分析数据结构,建立软件体系结构,价值是对于以后的此类通用课题,建议尝试本文提出的三大构件组成的软件体系结构。

由于是理论性研究,尚缺乏通过实现来验证该体系结构的正确性、完备性和可扩展性等,以及如何更好地剥离随机Petri网性能计算的要素,提炼出更加抽象、更加通用的软件体系结构,是以后的研究方向。

参考文献

[1]ZUBEREK W M. Timed Petri nets definition[J]. Micro-electronic Reliability, 1991, 31(4): 627-644.

[2]林红昌, 胡觉亮, 丁佐华. 基于Petri网的软件测试用例的产生及分析[J]. 计算机工程与应用, 2009, 45(17): 57-60.

[3]赵娟. 基于Petri网的语义Web服务发现方法研究[J]. 现代电子技术,2009,32(19): 119-120.

[4]杨芙清. 软件工程技术发展思索[J]. 软件学报,2005, 16(1): 1-7.

[5]梅宏, 申峻嵘. 软件体系结构研究进展[J]. 软件学报, 2006, 17(6): 1257-1275.

[6]梅宏, 陈锋, 冯耀东, 等. ABC: 基于体系结构、面向构件的软件开发方法[J]. 软件学报, 2003, 14(4): 721-732.

[7]邵维忠, 杨芙清. 面向对象的系统设计[M]. 北京: 清华大学出版社, 2004.

计算机体系结构篇(6)

中图分类号:TP393.08 文献标识码:A

随着计算机技术的不断发展,网络通信技术的愈发成熟,在各个领域的应用越来越广泛。计算机网络与作战这个词语关联在了一起,形成了一种新的高效作战方式,建立起新的作战空间,计算机网络对抗已经被承认为一种新的作战手段,在现代化的作战中会发挥出越来越关键的作用。计算机网络对抗的基础就在于计算机网络对抗体系结构,计算机网络对抗体系收到的关注度持续上升,大量的科学家展开相关的研究,产生了网络对抗效能的评估指标体系,不断地设计出更加安全的网络对抗体系,有信息防护,信息攻击以及信息支援,并且基于设计出协同网络安全对抗模型,有安全服务,安全机制以及安全攻击。随着研究的不断深入,会有更多的体系建立起来,这些研究成果,主要还是依赖于网络对抗评估指标,网络对抗技术体系以及安全对抗模型,不断地推进着网络对抗技术的前进,有益于网络对抗技术的作用趋向于更大化。既然成为了一种先进的作战手段,就必须形成一种高效的系统体系结构,对于多方面的技术进行合理适当的搭配应用,不能光依靠一种技术,这也许就是计算机网络对抗体系结构产生出来的动力。

1计算机网络对抗体系结构

1.1系统的结构

在作战的过程中,作战双方针对各自的可以利用的计算机网络资源,在计算机网络空间中进行的一系列对抗活动被统称为计算机网络对抗,在计算机终端,路由器以及交换机它们构成的网络环境下形成作战对象,利用各自的先进技术来获取更多的信息,通过对于这些信息的合理利用来取得局部战争的胜利,这就是网络对抗的最终目的。计算机网络对抗主要就是利用各自的技g手段去破坏对方的计算机网络系统,并且还需要有效的保护自己的网络系统不受到任何形式的侵犯,这将会用到各方面的技术手段和方法。计算机网络对抗系统的主要构造就是网络攻击,对抗评估,对抗指挥以及网络防御四部分。

网络攻击就是在计算机网络控制中心的指挥下,不断地对对方的计算机网络进行攻击,不断地向我方传送对方计算机网络上的信息,从中筛选出有用的信息,并且利用它,同时也可以利用各种手段来破坏对方的计算机网络。所以网络攻击承担着主要的攻击职能,为了更好地实现这一职能,网络攻击系统的构造必定是非常强大的,主要有攻击决策,网络攻击,情报处理,网络侦查等等,敌方计算机网络上面的信息都是通过网络侦查系统来获取的,主要就是找到对方网络上面存在的漏洞来实现攻击,了解对方网络的运行模式也是至关重要的,这些都为网络进攻奠定了坚实的基础。情报处理系统就是把获取来的综合信息进行加工处理,提取出有用的信息来进行攻击,在情报处理的基础上做出合理的攻击决策也是非常重要的,选取合适的攻击技术和设备会取得更好的效果。

对于我方计算机网络系统的保护也是非常重要的,在对抗指挥的统一调控下,保证我方计算机系统的正常运行以及信息的合理运输,相对于对方的攻击做出有效的抵御。计算机网络的防御主要是由终端防护,网络防护,协议安全以及脆弱分析等等子系统构成,脆弱分析子系统可以分析出我方计算机的运行协议,运行模式以及各种状态来判断出我方计算机网络的脆弱点在哪里,哪里需要有效的安全防护,为系统中其他的系统提供安全支撑。终端防护可以根据计算机网络终端中的操作系统,硬件系统,软件系统等等采取合理的多种的防护手段来确保终端安全性,保证计算机系统的正常运行。网络子系统可以根据各种协议,采取多种手段来实现综合防护。协议安全主要针对的是TCP/IP上面的一些缺陷来进行相应的补充增强,确保网络协议的安全性。

对抗评估需要在对抗指挥的统一管理下有效进行,对于我方的网络攻击以及防御系统进行安全性能以及效率等多方面的合理评估,使得各个系统都能通过评估来知道自己的状态,以确保正常工作。安全测试,对抗测试,模拟仿真以及效能评估等等子系统构成了我们的对抗评估系统,效能评估系统主要就是在网络攻击时来评估出网络攻击系统的攻击效能,分析出我方网络攻击系统的作战能力。模拟仿真系统主要就是来模拟敌方的手段和技术来对我方的计算机网络进行攻击,分析出我方网络防御系统的作战能力。安全测试系统主要就是依据开发人员设计的一些标准来对网络的防御系统进行测试,进一步的测试出我方网络防御系统的工作效率,为了能够进一步的测试出我方的网络对抗能力,对抗测试子系统采取合理的测试方式和环境来试探网络防御能力。

对抗指挥就是整个计算机网络对抗体系的大脑,肩负着重大的使命,承担起整个对抗系统的控制指挥,确保整个系统有序正常的运行。对抗指挥系统的构造也是非常严格的,主要有控制指挥,设备管理,态势处理以及相应应急响应四个部分构成的,设备管理主要就是对于所有可用的设备进行有序的管理以及相关策略的发送。控制指挥需要调动所有的相关设备来进行协同作战和防御,尽可能大的发挥出每一个设备的作用。态势处理可以收集双方计算机的一些信息,知己知彼,对于作战人员具有很好的辅助作用。应急响应可以感知到计算机中的一些紧急事件,然后形成各种有效的紧急预案,通过控制指挥来确定最终的处理,保证计算机网络系统可以在各种的恶劣环境下正常运行。

1.2技术结构

计算机网络对抗的技术结构主要是依据于计算机网络对抗的体系结构来产生的,主要有网络防御,对抗指挥,网络评估以及网络攻击四个关键部分构成的。

网络攻击技术包含有多种多样的攻击技术,比如:物理攻击技术,病毒攻击技术,拒绝服务攻击技术,密码分析攻击技术以及协议攻击技术等等,物理的攻击技术主要采取硬杀伤的手段,攻击敌方计算机的主要硬件设备,如:中央处理器,硬盘,存储芯片等等,这些具有不可逆性,是非常有效的攻击手段。能量攻击技术主要采用的是一些高功率的设备来破坏敌方的计算机网络基础设备,让敌方的计算机网络无法正常的工作。病毒攻击技术主要就是找到敌方的计算机安全漏洞并且在其中植入木马来进行有效的攻击。拒绝服务攻击技术主要是利用敌方网络上的缺陷来发送大量的攻击报文来控制对方的重要设备,敌方的计算机就无法提供正常的服务。密码分析技术采用的是加密技术的逆反方向,获取到敌方密文的加密算法以及各项参数。协议攻击技术主要就是利用敌方网络通信协议的漏洞来攻击计算机网络通信。

网络防御技术可以有很多的技术来作为支撑,主要有访问控制技术,安全审计技术,防火墙技术以及入侵检测技术等等。访问控制技术就是通过合理的手段来阻止非法的访问,常见的访问控制技术有很多种。入侵检测技术就是通过自己的匹配模式来发现可能存在的攻击行为。安全审计技术主要就是收集各种安全数据来发现可能存在的攻击事件,进行后续的追踪。防火墙技术主要就是对于网络中的一些传输的数据进行控制,防止非法数据的流动。

网络评估技术主要包含有对抗测试技术,基线扫描技术以及攻击效能评估技术等等。基线扫描技术需要获取系统的认可来对系统进行检测,将设备和网络和相应的标准进行对比,以此来发现各个设备或者网络的安全问题。对抗测试技术需要在专业的测试人员的操作下来模拟到入侵者经常使用的一些入侵手段,以此来评估设备及网络的安全性能。攻击效能评估技术通过模拟仿真来对攻击的设备进行测试,获取到我们所要攻击的设备的安全性,以此来评估出我方的攻击对于敌方的伤害程度。

对抗指挥技术主要包括有应急处理技术,设备管理技术,指挥调度技术以及态势处理技术等等。设备管理技术通过统一的规范来实现对于攻防设备信息的有效收集,发送相应的信息到设备,实现设备的有效管理和控制。应急处置技术主要用来处理紧急的突发事件,保证计算机在各种突发事件环境中还可以正常的运行。指控调度技术可以提供相应的人机界面,攻防人员来控制攻防设备,这样可以高效的实现攻防设备的协同有序作战。

2计算机网络对抗实验环境

计算机网络对抗实验环境主要依据于计算机网络对抗结构设计的,主要有网络对抗系统,对抗指挥系统,对抗评估系统以及网络防御系统四个部分。

(1)网络防御实验流程

W络防御实验过程中,需要综合的应用到各个系统以及相关的设备,主要流程是:指挥控制系统根据需要进行的安全防御来生成合理的方案,依据生成的防御方案来调度相应的设备,设备管理器向各个设备发送对应的安全策略并开始工作,接下来网络对抗系统发出各种的攻击,防御设备不断地抵御侵犯,将其中生成的各项信息发送到态势处理服务器来进行分析处理并且做出评估。

(2)网络对抗实验流程

网络对抗试验中,各项设备的使用是必不可少的。大致的过程如下:指挥控制系统根据相应的要求生成相应的防御图以及安全策略,以此来对网络防御设备进行合理的布置,然后指挥控制系统发出开始命令,目标网络被扫描,获取的信息发送到情报处理设备,进行适当的分析处理,获得目标网络存在的一些漏洞上报到攻击决策设备,攻击决策设备就会根据相应的情况来组织攻击系统进行攻击,攻击的结果被捕捉到并且发送到攻击效能评估系统进行分析,确定攻击效能。

3结束语

网络作战时代的到来,网络作战的作战需求不断提升,利用目前熟练的技术来设计出计算机网络对抗系统,利用该系统来提升作战效率。并且设计了经典的计算机网络对抗的环境,对于网络攻击系统,网络防御系统等等系统,还有网络攻击设备,网络防御设备等等进行有效的测试,熟练地掌握计算机网络对抗系统的各项工作职能。实现对于指挥系统的合理调度,最大化的利用各项资源实现有效作战,不断地推动我国的网络中心站向前发展。

参考文献

[1] 网络对抗训练混合虚拟化平台设计研究[J]. 张立洪,杜丹,李龙. 系统仿真技术. 2012(01)

计算机体系结构篇(7)

中图分类号:TP309 文献标识码:A 文章编号:1009-2374(2011)31-0048-03

世界上第一台电子计算机ENIAC于1946年2月在美国宾夕法尼亚大学诞生,它的出现具有划时代的伟大意义。从第一台计算机的诞生到现在,计算机技术经历了大型机、微型机及网络阶段。目前,软件体系结构领域研究非常活跃。电子计算机目前主要应用三种体系结构模式,这三种计算机软件应用体系结构模式是按数据与用户之间所具有的层次来划分的,分别是单层应用体结构系模型、两层应用体系结构模型和三层或三层以上应用体系结构模型式。

一、单层应用体系结构模型

计算机单层应用体系结构模型,是指在单一的应用层内,实现数据管理、商业规则、用户界面、数据管理等功能。尽管计算机中的数据可以处于一个物理上的远端位置,但是对于这些存数据的存取逻辑却是计算机应用程序的一个重要部分。在这样的单层体系结构中,通过文件夹来实现数据的存取,而不是通过数据库,单层应用体系结构模型中的程序自己进行定义,决定如何进行数据的储存、读取、查询等运算逻辑。在文字处理方面,单层应用体系应用结构模式有着一个普遍的文字处理器。即以一个用户界面来进行接收键盘的输入以及显示的输出,然后,用其自身众多的商业规则进行拼写查询、页码标记等功能的完成,同时,单层应用体系结构模式还可以应用文件存取程序对数据文档进行管理。现在流行的Windows应用程序大多数属于这种单层应用体系结构模型。该模型拥有一定的优点,即对应用程序的前期分析和设计都比较简单,容易操作和理解,但是该模型也有着不易解决的缺陷,即在程序后期的管理和维护上会显得十分麻烦,这是因为数据管理、商业规则、用户界面交织在一起,如果对任何一部分进行改动,哪怕是细微的变动,都会在很大程度上影响其它的部分。

二、两层应用体系结构模型

计算机两层应用体系结构模型的一个很大的特点就是在应用程序的客户端中,将用户界面和商业规则结合在一起,对于数据的储存、读取和查询由不同系统上的单独程序来完成中,SQL Serve或Oracler这样的数据库系统同样是这种数据存取和管理程序的对象。比如Client/Server就是两层应用体系结构,其主要用于局域网中。

计算机软件两层应用体系结构模型中还有另一种情况,即用户界面为单独的一层,数据处理和商业规则合二为一,构成另一层。这种两层应用体系结构的主要表现在以数据库内的存储过程来实现商业规则。因为作为数据库系统中的一个重要功能的存储过程,每个单一的存储过程都构成了数据库服务器上的一段程序,并指明如何进行数据库中的一系列操作,而且存储过程还可以直接被客户端查询、调用。另外,调用执行存储过程中还可以应用一个触发机制,就是当数据满足一定的条件时,触发一个程序,从而调用执行相应的存储过程。

计算机软件两层应用体系结构模型有一个最大的好处,就是能够通允许很多用户同时对相同的数据进行储存和读取,每一个用户数据的更新会立即被连接到主服务器上,使所有用户都可以访问。但是这种结构的缺点也十分明显,就是服务器端的负载问题,如果当客户端的数目不断增加,服务器端的负载就会逐渐加大,并最终直到系统完全承受不了众多用户的请求而崩溃。另外,因为商业规则和用户界面合在一起,在处理逻辑和程序上的困难较大,任何商业规则的改动都会是十分费时、费钱、费力的。尽管这种两层结构模型在许多小规模商业应用上有着简便、灵活的特点,但是更短的开发周期和快速数据访问的需求使家算计软件应用体系机构模型的开发工作朝着一条新的创建分布式应用的道路上发展,那就是三层或三层以上应用体系结构模型。

三、三层或三层以上应用体系结构模型

在三层或三层以上应用体系结构模型中,各应用层的分布并不是一成不变的,可以根据要求和条件,分布在逻辑上的不同位置。另外,也不需要各应用层与网络物理拓扑之间一定存在着一一对应的关系,可以依据系统需求进行分布,如,装有SQL Server数据库服务器和IIS Web服务器的同一台机器中,可以同时分布数据处理层和商业中间层。

在三层或三层以上应用体系结构模型中,商业规则可以处理和正确执行所有的商业过程,该模型的客户端程序不能直接进行数据的存取,从而保障了数据的完整性和安全性。三层或三层以上应用体系结构模型的优点是可以单独修改应用系统的每一个部分而不会影响到另外两个部分。另外,因为通过接口使每一层之间进行相互通信,所以只要保持接口不变,内部程序的一些变化就不会影响系统的其它应用部分。同时,应用程序的生命周期在三层或三层以上体系结构模型中也有很多好处,如适应性、易管理性、可复用性、可伸缩性、可维护性等。可以按需求将创建的组件和服务复用和共享通过计算机网络分发,还可以将复杂的、大型的工程项目进行分解,够成简单而安全的子模块,并将这些子模块分派给不同的开发小组或者开发人员。

三层或三层以上应用体系程序将每个主要的功能进行隔离。设计这样的多层应用程序要从初始阶段的设计和分析、后期阶段的使用和维护等多方面加以权衡,增加程序的实用性和适应性。中间商业层组件根据程序的规则和需要,进行调整和移动,如移动到用户层可以加强对用户界面处理,还可以减少数据的往复。在三层或三层以上应用体系结构模型中,客户端应用程序更为小巧、方便,因为服务组件在中间商业层分布。这种方式不仅使用户的一般管理费用降低,还能增加系统的通信量。

四、软件工程系统结构模型的应用分析

(一)软件工程系统结构模型的应用

一个软件系统,在进行分析一般均以全局的角度为视角,在对其全面描述要用系统论中的思维导图。对一个工程软件用思维导图表示,可以用节点表示概念,概念之间用连线表示联系。这样可以将一连串的概念按照逻辑联系起来,看起来一目了然。根据软件工程系统的结构模型,工程系统中的软件工程思维导图如图1所示:

图1 软件工程过程的思维导图

从图1我们可以看出,在思维导图中有两条主要路线:问题路线和需求路线。(1)从问题点为始点,提出需求要求,然后转换为软件的过程。这个过程中,我们需要关注需求方与成软件方双方对问题描述是否一致,避免双方描述差别较大,较大差别的描述会造成更多的工作量。(2)从需求点为始点,选择合适的运作方,然后再选择相应的开发方,开发方再进行开发软件。在这一过程中开发方是关键点,转换活动是以开发方的活动而完成的,因此,在这条线中,要遵守适用性原则,即要选择合适的开发方。

(二)应用软件工程系统结构模型对软件工程风险的分析

在软件工程系统中,是能够从系统与全局的角度进行风险分析的。但是实际中,并不是所有的风险因素都能进行分析与预防的,其中人为因素是最不确定的一个因素,因为人在分析客观问题与事物时候,容易受到多方面的因素影响,从而产生多种误差,这也会对软件产生多方面的影响,造成风险。所以,在软件工程系统结构模型中,以实体要素引出的边,均为形成风险的位置。在进行对软件工程系统进行实际风险分析时,因其具体的结构模型有侧重点,而且由于一些系统的要素就是一个子系统,所以在实际过程中,要针对具体情况作适当的调整。

五、结语

在信息化的今天,科技发展日新月异,人们的生活中越来越离不开电子计算机,随着电子计算机在各领域中广泛地应用,加强对计算机软件应用体系结构模型的探究,了解计算机软件系统结构的意义,研究不用的计算机软件系统结构模式,加大对计算机软件系统的开发和应用,可以更好地对电子计算机进行开发和利用。

参考文献

[1] 李千目.软件体系结构设计[M].北京:清华大学出版社,2008.

计算机体系结构篇(8)

1 背景

“计算机体系结构”(以下简称“体系结构”)是计算机科学与技术专业计算机工程方向的一门重要课程,它强调从系统级的角度介绍计算机的组成和相应软硬件模块的设计与实现方法。通过课程学习,学生能够深入理解和掌握计算机系统的软硬件接口、各项性能指标、系统性能的基本分析方法,以及为了达到最佳性能、最佳性价比、最佳性能功耗比等不同设计目标所应采用的软硬件设计技术。

除了课堂讲授,实验也是该课程教学的一个重要环节。通过实验,能够有效地加深学生对课堂上所学习的各个关键知识点的理解与掌握。以2010年研究生入学考试的第44题为例:

44. 某计算机的主存地址空间大小为256MB,按字节编址。指令和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示:…(略)

假定int类型数据用32位补码表示,程序编译时i、j、sum均分配在寄存器中,数组a按行优先方式存放,其地址为320(十进制)。请回答,要求说明理由或给出计算过程。

(1) 若不考虑用于Cache一致性维护和替换算法

的控制位,则数据Cache的总容量为多少?

该题第(1)问主要考察学生对“数据Cache中存放了哪些数据和控制信息”这一知识点的掌握情况。能够正确回答该问的同学并不多,因为绝大部分同学都忽视了valid bit和dirty bit这两个重要信息。

我们对我院2007级的部分本科生进行了调查,让他们独立完成该题。参加调查的学生都系统地学习过Cache的相关知识,并进行过16位CPU的设计实验,但其中一半同学仅设计实现了基本指令流水线,另一半同学还完成了分离的一级指令Cache和数据Cache设计。

从调查结果来看,完成了Cache设计的同学回答正确率远远高于另一部分同学,他们认为实验有助于加深他们对这一知识点的理解与掌握,并且效果明显。

在Hennessy和Patterson推出了《计算机体系结构:量化分析方法》[1]这一经典教材后,量化研究方法已经成为当前计算机体系结构教学和相关研究所采用的基本方法。这进一步增加了计算机体系结构实验的重要性,学生通过实验掌握性能数据的收集和分析方法。因此,加强实验建设,充分发挥实验作用已经成为高水平计算机体系结构课程建设必须完成的重要任务。

作者简介:沈立,男,副教授,研究方向为计算机系统结构、编译技术、虚拟化技术;张春元,男,教授,研究方向为计算机系统结构;王志英,男,教授,研究方向为计算机系统结构。

目前进行体系结构实验主要有软件模拟和硬件仿真两种形式,虽然二者在功能上基本等效,但由于抽象程度不同,它们所反映出的实现细节也不相同。以Cache子系统设计实现为例,无论是软件模拟还是硬件仿真都可以反映出valid bit和dirty bit等控制信息所占用的存储容量;而在动态指令调度的相关实验中,虽然通过两种方法都能够得到动态调度带来的性能加速,但硬件仿真方法能够更准确地反映出实现该机制所需的开销。

笔者从以下三个方面介绍在该课程实验教学方面所作的工作:首先,在分析该课程各知识点的特点以及其是否适合进行实验的基础上,我们设计了15个实验模块;其次,探讨了如何为不同培养类型和知识结构的学生选择合适的实验模块,以及在组织和实施实验教学方面采取的措施;第三,提出若干值得思考的问题。

2 课程知识点分析

在进行实验教学时,应针对不同的教学目标采取不同的实验模式。一般说来,对于那些以理解掌握成熟的模型、协议、算法等为主要目标的知识点,如Cache一致性协议,往往以验证性实验为主;而对于那些以熟练使用某种方法解决实际问题为主要目标的知识点,如Cache的结构和优化方法,往往以设计性实验为主。

下面以我们正在使用的教材[2]为主,结合国内外其它有影响力的教材[1,3-4]分析体系结构课程各个知识点的特点,深入探讨适合这些知识点的实验方式。

绝大部分体系结构教材的内容都可以被划分为基本概念、指令系统、流水线技术等8个章节[5]。当然,其中部分教学内容不可避免地会与其他课程重合,如操作系统课程会介绍虚存的相关知识,计算机原理课程会系统介绍I/O的相关知识点,并行程序设计的相关课程中会系统介绍同步、同时多线程、集群等有关知识点。在体系结构课程的教学过程中,这些重叠的知识点往往会根据实际情况略讲或不讲。

表1中列出了各章节中适合开设实验的各个知识点以及可以开设的实验类型。表中所列出的知识点粒度较粗,如指令级并行技术就被归结为硬件方法与软件方法两类,因为所设计的各种技术具有相似的特征。

在进行实验前,学生除了学习相关知识点外,还必须熟练掌握有关实验工具使用方法。不同的实验方法需要掌握不同的实验工具,包括软件模拟器、EDA工具、FPGA开发板等。通过其他课程的学习,学生已经掌握了全部或部分工具的使用方法,但从体系结构课程建设的角度出发,我们还是将其视作可以进行实验的知识点。当然,也有些教材[6]较多地采用验证的方式进行实验。

3 课程实验建设

从上节的分析不难看出,指令集、流水线和指令级并行、Cache、多处理机是体系结构课程教学的重点,因此课程实验也主要围绕这些内容进行。我们选择32位DLX指令集作为实验对象,主要原因在于:DLX是典型的RISC指令集,指令格式规整、简洁,且具有开源的编译器(含库)、模拟器等软件工具。

3.1 实验模块设计

我们设计的15个实验模块,覆盖了流水线设计、指令级并行、Cache的设计与优化等计算机体系结构实验的经典内容,如表2所示。除此之外,我们还专门设计了与指令集设计与优化有关的模块。至于Cache一致性、I/O和并行程序设计方面的内容,没有设置相关的实验,因为Cache一致性以验证为主,设计实现工作量太大,更适合作为创新实验,而其它内容的实验一般在“计算机原理”、“微机原理”、“并行程序设计”等课程内完成。

这些实验分别对应指令集设计与优化(模块2、4、14)、DLX整数流水线(模块6~9)、指令级并行技术(模块10~13)、Cache子系统(模块15)。此外,为了使学生熟悉实验工具和环境的使用,我们还专门设置了3个实验模块(1、3、5)。

根据难度不同,也可以将这些实验分为基础实验和提高实验两类。前9个模块为基础实验,主要围绕着如何设计并实现一个DLX整数流水线、实现相关的软件工具、以及如何进行仿真验证。后6个模块为提高实验,实现各种提高流水线性能的指令级并行技术。

表2中列出的不少实验模块都可以在FPGA上进行,包括模块2、8~11、13、15,使学生可以更好地理解软硬件技术在实现开销和性能上的优劣。此外,还有一些模块(如4、12、14)也强调了对软件工具链的使用和修改,有助于学生更全面深入地理解CPU设计所需完成的全部工作。

3.2 组织与实施

不同实验模块的难度以及完成所需时间也不相同,表2的数据可用作组织实验教学时的参考。

教学时既可以选择全部15个模块,也可以选择部分模块。究竟如何选择,取决于具体的教学目标以及用于实验的学时数。例如,若需实现一个DLX整数流水线并进行硬件仿真,可以选择模块6~9,需要8~16个学时;若仅需了解DLX整数流水线的工作原理和基本指令调度方法,选择模块1即可,这需要2~4个学时。

学生在进行实验时也可以采用不同的组织形式。例如,我们就将学生分组进行实验,每组1~3人不等。除了完成基本实验外,每组还必须完成6个提高实验中的一个。各组的成绩主要根据完成情况给出,若仅完成基本实验,成绩为C或D;若还完成了提高实验,成绩可以达到A或B。未完成基本实验或完成质量不高的小组就不必再进行提高实验了。

4 若干思考

在实验教学的组织与实施过程中,我们也发现了以下一些值得思考的问题,这些问题也可以视作教学改革的方向。

4.1 以实验教学代替课堂教学

让学生在实验过程中学习、理解体系结构课程中的一些知识点,其效果可能会比直接进行课堂教学更好。因此,能够以实验教学代替课堂教学是这里要探讨的第一个问题。

以Tomasulo算法为例,这是一种经典的动态指令调度策略。为了生动地描述该方法的效果,几乎所有的教材或是课件都会给出如图1所示的时序图,图中清晰地描述出每个时钟周期各指令、功能单元、寄存器、保留站的状态。在讲授记分牌时也有类似的情形。

图1中的时序数据既可以根据模拟器的输出直接得到,也可以通过手工推导得出,显然前者的效率更高。不过,既然都是生成时序图,也可以考虑由学生借助模拟器等工具获得时序数据并进行分析。

这样,在讲授这部分内容时,可以采用下面的形式:先用20~30分钟介绍支持该算法的流水线结构;然后借助模拟器的输出选择性地介绍几个时钟周期下流水线的状态,每个状态介绍占用3~5分钟;余下的时间由学生自行利用模拟器进行深入学习。

4.2 增加实验在考核中的比重

作为一门对实践技能要求较高的课程,体系结构课程的考核成绩通常会同时包含笔试成绩和实验成绩。如何合理划分二者的比例,是一个值得探讨的问题。

加大实验在考核中所占的比重,可以督促学生重视实验并亲手完成实验,有利于取得更好的实验效果。但受到实验通常会分组进行,不同小组可能会互相借鉴,实验检查方法主观性强、花费时间长等因素,现有的实验考核方法可能无法准确评估一个学生的完成情况,以及对所要求技能的掌握和熟练程度。

我们目前采取的方法是将一部分实验内容作为笔试试题,如果没有真正参与到实验过程中,很难回

答正确。但这只是一种初步的策略,如何才能比较准确地考核学生的实验完成情况,尚需进行系统的研究与探讨。

5 结语

根据我们对体系结构课程各知识点的理解与分析,我们围绕着指令级结构、流水线、指令级并行技术、Cache等知识点设计了15个实验模块。这些模块大致可以分为三个层次:实验工具和环境的熟悉与掌握、基本实验和提高实验,可以根据教学目标的需要选择不同的实验模块组织教学活动。

上面提到的各实验模块的教学目的、要求、环境、步骤等细节已经在我们编写的《计算机体系结构实验》教材[7]一书中进行了详细介绍。有些学校可能没有专门开设体系结构课程,而是将相关知识放在“计算机原理”、“计算机组织与结构”或类似的课程中学习,本文所介绍的内容也可以用作这些课程实验建设的参考。

在接下来的教学活动中,我们还将根据情况增加与多核体系结构有关的实验模块。

参考文献:

[1] John L. Hennessy, David A. Patterson. Computer Architecture: A Quantitative Approach[M]. 4th Ed. San Francisco: Morgan Kaufmann, 2007.

[2] 王志英,张春元,沈立,等. 计算机体系结构[M]. 北京:清华大学出版社,2010.

[3] 张晨曦,王志英,沈立,等. 计算机系统结构教程[M]. 北京:清华大学出版社,2009.

[4] 郑纬民,汤志忠. 计算机系统结构[M]. 北京:清华大学出版社,2005.

[5] 张晨曦,王志英,刘依,等.“计算机系统结构”课程内容体系的研究[J]. 计算机教育,2009(20):57-60.

[6] 张晨曦. 计算机体系结构实验教程[M]. 北京:清华大学出版社,2010.

[7] 沈立,肖侬,王志英. 计算机体系结构实验[M]. 北京:清华大学出版社,2010.

Experiments Establish for Computer Architecture

SHEN Li, ZHANG Chunyuan, WANG Zhiying

计算机体系结构篇(9)

关键词:计算机组织与体系结构;教学实践;启发式教学

中图分类号:G642

文献标识码:B

1强调理论与实践相结合,提高学生的学习兴趣

对于“计算机组织与体系结构”这门课程,大家普遍认为非常抽象,理论内容和概念较多,教师授课感觉单调、乏味,学生听起来也比较困难。但实际上本课程和实践联系较为密切,因为计算机现在非常普及,各种部件大家也都熟知,只不过对各部件的工作原理以及相互之间的通信方式还不是太了解,所以有些无所适从。因此,我们在开始讲授这门课时,首先从兴趣入手,引导学生运用自己以前所学的知识和了解到的一些市场行情,去写出一台计算机的配置,看看都需要哪些部件,怎样配置才是最优最合理的。这样可以使学生更直观、更全面、更深入地理解本课程的教学目的,然后再结合教学辅助软件将计算机的硬件进行分割、拆卸,如硬盘、软驱、光驱、主机、打印机、显示器等,将其内部结构展现出来,使学生能够更好地了解计算机功能部件的内部结构及其之间的联系。通过这种方式,学生们普遍感到计算机的组成结构原来离自己是很近的,消除了畏惧心理,从主观上开始重视这门课程,并带着问题和兴趣去学习,这样就为讲好这门课打下了基础。

2突出重点,讲清难点,注意层次分明

在授课过程中把重点放在基本原理和基本概念上,采用总体与局部相结合的教学方法。例如,对于计算机的各个功能部件,应着重讲解它在整个计算机系统中的作用,然后再具体了解工作原理。由于有了前面初步的整机概念,在进行功能部件学习时,对一些基本概念就不会感到陌生,对一些信息的流向及控制也易于理解。在了解了各部件之后,再从整机角度出发,综合分析计算机的组成原理及设计方法。经过这样一个由整体到部件,再由部件到整体的“迂回战术”后,学生一般都能建立起对计算机的整机概念,掌握计算机的工作实质,加深课程的理解。

在讲课时,注意条理清楚,重点突出,比喻形象。教学手段采用多媒体教学与传统教学相结合的形式。对适合课堂演示的动态模拟内容,比如像讲解“存储器的读写操作”时就采用直观的多媒体形式;而对于概念性和推理性很强的内容,比如像讲解“补码的加减法”时,则采用板书结合教师的手势和形体语言,以吸引学生的注意力。

在教学过程中尽量采用“形象教学法”,对于难以理解的内容,用生活中的一些生动形象的具体实例加以解释说明。比如,中央处理器一章中的流水技术原理,初学者理解起来也比较困难,我们就举了一个“多人搬砖”的例子:十个人排成一队,经过第一个人取砖、中间八个人传递、第十个人输出,这样几个过程连续进行就可以完成搬砖任务。这样学生就很容易理解,而且与流水线相关的概念比如吞吐率、流水效率、数据相关等也就可以迎刃而解了。

3注意启发式教学

(1) 以问促学

为了实现教学互动,在授课过程中,我们故意设置一些问题“陷阱”,多问几个为什么,引导学生和教师一起思考,变被动式教为主动式学。例如,在存储系统一章中,讲述主存储器是由半导体读写存储器RAM和半导体只读存储器ROM组成,RAM是易失性存储器,ROM是非易失性存储器,RAM又分为静态和动态两种。为什么静态RAM不需要刷新,而动态RAM需要刷新?为什么放大器读出的信息不会送到数据线上?将这样一系列的问题留给学生讨论,调动学生的积极性,让他们各抒己见,最后得出正确的答案。这样,不仅活跃了课堂气氛,提高学习的趣味性,还便于教师及时发现学生存在的问题,达到教学相长的目的。

(2) 培养学生自学能力

对一些简单的教学内容,要求学生自学,教师只做提示或针对自学内容提出几个具体问题,由学生讨论自己解决。例如在讲授中央处理器一章中的传统CPU一节时,考虑到学生前面已学习CPU的基本组成和功能原理,这一节内容可要求学生自学,并且布置习题要求学生课下完成。

(3) 加强习题讨论课教学

组织学生对阶段教学中一些尚未透彻理解,容易混淆的概念以及学生自学中没有解决的问题进行讨论。例如,存储系统一章中的存储器的字位扩展是一个非常重要的问题,学生在解题时很容易把字扩展和位扩展中的地址线画错。我们就针对这个问题进行举一反三,通过仔细分析,加深学生对基本概念和基本理论的理解,达到触类旁通,有助于学生解题能力的提高。

4加强实践环节,促进理论教学,培养学生实际水平

在讲授基本概念、基本原理和基本方法的同时,给学生提出一个实际问题,让他们通过各种信息渠道独立解决,收到了较好的效果。除此之外,我们还吸收了一部分有兴趣的学生组成大学生科研训练小组,参加教师的科研开发工作。这样不仅提高了学生的动手能力,而且能及时听取他们学习过程中的意见反馈,及时发现问题,同时也能测验他们将所学知识转化为实际能力的水平,为保障教学的顺利进行提供了宝贵资料。

这门课程是理论性和实践性都很强的一门专业基础课,因此课程教学与实验上机相结合显得尤为必要。为了辅助课程教学,我们使用复旦大学设计生产的FD―CES计算机组织与体系结构实验仪,共安排了12学时的实验上机。实验内容包括验证性实验和设计性实验,比如运算器实验就是一个验证性实验,其目的是让学生了解实验仪的基本使用方法和基本原理,同时验证74181的基本功能。存储器系统实验是一个设计性的实验,学生可以自己设计一个存储系统,实现存储器的基本读写操作。通过这些实验,学生对计算机的内部结构有了更明确的了解,同时对计算机的硬件特性也有了比较全面的认识。另外,我们还要求每个学生在独立完成实验之后,写出合格的实验报告以总结实验的过程和结论。

5穿插介绍本学科的动向

在授课过程中,我们利用适当的机会向学生介绍本学科发展的新动向、新技术,这样有助于引导学生牢固树立为探求技术发展而努力学习的信心和决心。另外,我们注意引导学生阅读相关参考书目和外文资料,培养学生及时查阅新资料、跟踪新技术的能力。

参考文献

[1] 白中英. 计算机组成与体系结构[M]. 北京:科学出版社,2006.

计算机体系结构篇(10)

中图分类号:TD672文献标识码:A文章编号:1007-9599 (2010) 06-0000-01

Integrated Electronic System Embedded Computer Architecture

Feng Lipei

(The State Administration of Radio Film and Television 723 Radio,Shijiazhuang050086,China)

Abstract:As the modern electronic information technology development and innovation and electronic information technology application of the areas of diversification of integrated electronic computer system,and embedded in the military,a smart appliance,the digital machine tools,

refrigerators and other areas of electronic devices are widely used. this article by a brief analysis and study electronics and computer system to embedded systems architecture to meet the new generation of integrated electronic computer systems for performance of the embedded application requirements.

Keywords:Integrated electronic systems;Embedded computer system;Structure

一、综合电子系统嵌入式计算机的特点

综合电子系统嵌入式计算机是嵌入到对象体系中的专用计算机,其物理结构和功能都嵌入到应用系统中,不能脱离系统操控程序而独立运行。进入21世纪以后,综合电子系统嵌入式计算机在军事上得到了广泛的推广与应用,同时在智能家电、数字机床、车载电子设备等生活领域也得到不少的应用,为人类的发展注入了全新的科技动力。综合电子系统嵌入式计算机的特点,主要表现在以下几方面:

(一)实时性

综合电子系统嵌入式计算机直接从前端传感器获取信息和资料,进行实时或近实时的操控处理和技术分析,因此,综合电子系统嵌入式计算机对信息的处理、分发和管理的实时性要求极高。

(二)与宿主系统相匹的性能与功能

综合电子系统嵌入式计算机是宿主系统的主要组成部分,其体积、重量、形状、性能等诸多数据参数必须满足各种宿主系统的不同技术性要求,其功能性与技术性必须与宿主系统的水平相适应,符合技术应用的科学发展方向。[1]

(三)环境的可靠性和适应性

综合电子系统嵌入式计算机被大量应用于工业、军事、野外等恶劣环境中,要经受振动、辐射、盐雾、高低温、电磁干扰等经验,对可靠性要求极高。传统综合电子系统嵌入式计算机的体系结构设计主要根据嵌入式系统的应用特点进行剪裁。[2]综合电子系统嵌入式计算机采用模板化结构,但是总线带宽和扩展能力有限,不具备动态重构、数据信号综合处理等功能。

二、综合电子系统嵌入式计算机的体系结构

嵌入式系统是现代电子信息技术、计算机技术和半导体技术,以及各个行业具体应用相结合的产物。因此,嵌入式系统是一个资金密集、技术密集、高度创新、不断创新的知识集成系统。综合电子系统嵌入式计算机体系结构的核心部件是处理器,系统结构较为复杂。

图1 综合电子系统嵌入式计算机的体系结构

(一)嵌入式微控制器

嵌入式微控制器将整个计算机系统集成到一块芯片中,芯片内部集成RAM、ROM/EPROM、总线逻辑、总线、定时/定时器,WatchDog、串行口、D/A、A/D、Flash RAM、EEPROM等各种基础功能和外设。为了适用综合电子系统嵌入式计算机不同的体系结构和功能需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理内核体系结构都是相近的,不同的存储器和外设的配置及封装。[3]这种体系机构可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。目前,世界通用的嵌入式控制器型号主要有:P51XA、8051、C166/167、MCS-96/196/296、MC68HC05/11/12/16等。

图2 嵌入式微控制器结构图

(二)嵌入式微处理器

嵌入式微处理器是综合电子系统嵌入式计算机的CPU,在实际应用中,微处理器被装配在专门设计的电路板上,只是保留和嵌入式应用的相关母版功能,这种体系结构可以最大幅度减少系统的体积和能源消耗。[4]嵌入式微处理器具有重量轻、体积小、可靠性高、成本低等优点,其体系结构的电路板上必须包括:总线路接口、各种外线器件、RAM、ROM等,技术保密性相对较强。目前,世界主要应用的嵌入式微处理器主要有:386EX、Power PC、SC-400、MIPS、68000、ARM等系列。

图3嵌入式微处理器结构图

(三)嵌入式片上系统

近年来,随着EDI的推广和VLSI设计的普及化,综合电子系统嵌入式计算机体系结构中一个硅片上实现一个更为复杂的全新计算机系统,也可以称之为SOC。嵌入式片上系统一般可以分为通用和专用两类,通用系列包括Infineon的TirCore,Motorola的M-Core;专用系列包括Philips的Smart XA等。

计算机体系结构篇(11)

现代社会要求本科教育培养知识广博、有创新和实践能力的高素质人才,以便为高层次的专业学习奠定坚实的基础,为个人今后的多方向发展提供全面的准备,这与终身学习和职业流动的现代化潮流是相适应的。许多高校在深化教学改革中,贯彻“加强基础、淡化专业、因材施教、分流培养”的教改方针,打破专业和学科壁垒,力求把单科化的专才教育转变为整体化的通识教育,在本科教育中建立以素质教育为取向的跨学科公选课体系,在最基本的知识领域为学生提供多学科交叉综合的精品课程,让学生广泛涉猎不同的学科领域,拓宽知识基础。公选课体现了教学模式的多样化、教学层次的多元化,本是一件好事,但在实施实践中,也引发了很多问题。

1 公选课程存在的问题。我校是一所地方理工科院校,自2003年开始向本科生开设公选课课程体系,按课程性质分为计算机类、经济管理类、文学类、外语类、自然科学类和环境类等多方面课程,并在专业教学计划中要求学生必须选修一定学分的公选课程,才授予学位,如计算机类选修学分不低于4学分。几年来,我们一直关注计算机类公选课程的学生选修情况,发现学生选而不修现象严重,并就此做过相关调查问卷,分析其主要原因并归纳如下:

1.1 学生选课茫然,仅仅根据课程名称猜测课程内容、性质,听课后发现与自己想象相差较远,于是失去选课时的热情,产生混课思想。

1.2 课程体系不完善,教学内容随机性较大,学生没有前序知识积累,学起来很难,没法继续学下去。比如象VC和Java等计算机语言课程,有些教学内容需要学生有c语言的基础才行,但由于学生选课时没有计:算机语言课程体系的指导性课程介绍,致使学生的学和教师的教都十分困难,降低了学生的学习兴趣。

1.3 教学和管理不够规范,学生没有教材,考核方式宽松,这种宽进宽出的做法,使得公选课在学生心日中的地位和意义大打折扣,导致学校设置公选课的目的、意义不能很好地完成和体现。

在调查中,我们发现学生对计算机类公选课程很感兴趣,有的是个人喜欢,有的是计划参加国家计算机等级考试,还有部分同学想拓宽知识结构,有利于求职,总之学习态度是积极的,但为什么效果不理想呢?我们认真分析了上述三个原因,经过近几年的教学摸索实践,总结出解决问题的总体思路和方法,认为最根本的解决方法是全面了解社会求职需求和学生自身发展需求,建构一套完整的计算机公选课程体系,精选教学内容,把学生最需要、教学最精彩的部分放在课堂上。制定选修手册,从横向和纵向介绍各个课程的交叉关系、主讲内容和目标要求,让学生按需选修。

2 了解需求,优化计算机类公选课程结构体系。公选课程的目的是拓宽学生知识视野,提高学生的综合素质,秉承了STS(Science Technology Society)教育模式。STS教育是一项综合性教育,其基本精神在于把科学教育和当前的社会发展、社会生产、社会生活等紧密结合,使受教育者的智能得到开发,劳动素质得到提高,未来意识和参与意识得到增强。基于此,计算机类公选课程应该在以下方面有所作为:

2.1 努力使学生了解、掌握更多的渗透于日常工作、生活的计算机知识,培养科学的思维方法,计算机思维可以用于医学、法学、商务、政治或任何一种科学及工程学,甚至美学。

2.2 进一步拓宽学生知识面,完善其知识结构,为其将来在工作中更好的使用计算机作为辅助工具打下基础。

2.3 了解计算机方法和模型,了解计算机科学和技术的发展前沿。我们根据“社会普遍都需要”、“学生普遍感兴趣”、“教师开课有实力”三条原则,优化了计算机类公选课程的体系结构,将其分为四个平台:计算机语言平台、计算机网络平台,图形图像处理平台和计算机应用技术平台,各个平台的课程关系网络图如下:

通过学习一门计算机语言,了解计算机编程思想和计算机工作原理,培养利用抽象和分解来设计复杂系统的解决问题方法,提高学生的逻辑思维能力;通过学习图形图像处理技术,使学生了解计算机处理多媒体数据的方式、方法,掌握一门最实用的计算机工具;通过学习计算机网络的相关原理和技术,了解网络的运作过程,洞察Internet网络行为,建立网络资源安全意识。通过学习计算机应用技术,了解计算机在各个应用领域的工具作用,感悟计算机思维是数学和工程思维的补充和结合。

3 精选教学内容,培养计算机思维。公选课旨在拓宽基础、沟通文理,体现通识教育理念,力图引导学生从本科教育最基本的领域中获得广泛的知识,让学生了解不同学术领域的研究方法及主要思路。因而教学内容重在启发思想,而非灌输知识的细节,提倡“少而精”。

公选课程一般学时在36~48之间,学时少,要在课堂上讲述全部教学内容是不可能的,而教学内容又是一门课程的灵魂,是十分重要的。计算机公选课程重点放在计算机思维的培养,围绕这个中心对教学内容进行模块划分,实行课内、课外并行的教学模式。

计算机思维是研究计算的――什么是可以计算的,怎样进行计算。它是人的思维方式,不是计算机的,教学中要引导学生如何描述问题、表示问题,以及用算法解决问题。我们对一些语言类课程进行了这种模式教学的实施,具体做法是:课堂上对重点、难点部分详细、系统讲解,其余部分以引导为主,为了指导学生自学,精心制作学生学习测试系统,学生通过网络自学和自评。在测试系统中既有学习内容的总结,又有各种测试题目的知识点点评,既有章节测试,又有综合练习,特别是对于一些编程题目,软件给出解题思路,深受学生欢迎。这种课上、课下相互补充的教学模式,既免除了学生没有教材的苦恼,又解决了授课时间紧张的问题,大大提高了教学效果。

4 利用网络进行课程宣传,引导学生制定选修计划。网络选课需要很好的网络信息支持,通过网络进行课程广告,加强对学生的选课指导。虽然学生选课由导师指导,但由于学科专业之间的差距,并不是所有导师都了解计算机课程。为此我们对计算机公选课程制作了各种宣传资料,将课程内容简介、先序课程要求及授课教师的材料整理装订或者放到校园网,指导学生作出长远的整体选修计划,从而提高学生选课的主动性。

计算机思维代表的是哪里都适应的一种态度和技能川。培养学生计算机思维是贯穿计算机公选课程教学目标的核心。只有保证课程体系的完整性和稳定性,深入研究教学内容,利用校园网采取课内、课外并行交互的教学模式,才能使学生在短时间内获得大量信息,完成公选课程的教学目标,让不同专业、不同层次的学生均有所收获。

参考文献

1 赵存生、关海庭、金顶兵,通选课一素质教育的一项重要举措[J],中国高等教育,2003(21)

2 罗逾兰、周志华,开设CTS教育公选课的尝试,教育探索,2003.5(14 3)

3 申凤君、杨芸、申凤玲,高校公选课存在的问题及对策,成都理工大学学报(社会科学版),2006.9

4 王玉琼,对高校公选课教学管理的几点思考,教师教育研究,2005.3

5 张小芳,加强公选课管理,推进学分制改革,湖南科技学院学报,2006.9