期刊在线咨询服务,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

期刊咨询 杂志订阅 购物车(0)

计算机体系结构模板(10篇)

时间:2022-09-03 03:22:23

计算机体系结构

计算机体系结构例1

中图分类号TP39 文献标识码A 文章编号 1674-6708(2012)69-0185-02

0引言

几十年来,计算机网络发展相当迅速。但计算机网络的实现要解决很多复杂的技术问题:支持多种通信介质,比如双绞线、同轴电缆、光纤、微波、红外线等;支持多厂商、异构互联,包括软件的通信约定以及硬件接口的规范;支持多种业务,比如批处理、交互分时、数据库等;支持高级人机接口,满足人们对多媒体日益增长的需求。正如结构化程序设计中对复杂问题的模块化分层处理一样,在处理计算机网络这种复杂系统时所采用的方法就是把复杂的大系统分层处理,每层完成特定功能,各层协调起来实现整个网络系统的功能。计算机网络体系结构就是介绍计算机网络中普遍采用的层次化网络研究方法。

1计算机网络体系结构的基本概念

1.1通信协议

在网络系统中,为了满足数据通信的双方准确无误的进行通信,这就需要我们根据在通信过程中产生的各种问题,制定一系列的通信双方必须遵守的规定,这就是我们所说的通信协议。从通信协议的表现形式来看,它规定了交互双方用于通信的一系列语言法则和语言意义,这些相关的协议能够规范各个功能部件在通信过程中的正确操作。

1.2实体

每层的具体功能是由该层的实体完成的。所谓实体是指能在某一层中具有数据收发能力的活动单元(元素)。一般就是该层的软件进程或者实现该层协议的硬件单元。在不同系统上同一层的实体互称为对等实体。

1.3接口

上下层之间交换信息通过接口来实现。一般使上下层之间传输信息量尽可能少,这样使两层之间保持其功能的相对独立性。

1.4服务

服务就是网络中各层向其相邻上层提供的一组功能集合,是相邻两层之间的界面。因为在网络的各个分层机构中的单方面依靠关系,使得在网络中相互邻近层之间的相关界面也是单向性的:下层作为服务的提供者,上层作为服务的接受者。上层实体必须通过下次的相关服务访问点(Service Access Point,SAP),才能够获得下层的服务。SAP作为上层与下层进行访问的服务场所,每一个SAP都会有有自己的一个标识,并且每个层间接口可以有多个SAP。

1.5服务原语

网络中的各种服务是通过相应的语言进行描述的,这些服务原语可以帮助用户访问相应的服务,也可以像用户报告发生的相应事件。

服务原语可以带着不同的参数,这些参数可以指明需要与那台服务器相连、服务器的类别、和准备在这次连接上所使用的数据长度。假如被呼叫的用户不同意呼叫用户建立的连接数据大小,它会在一个“连接响应”原语中提出一个新的建议,呼叫的一方能够从“连接确认”的原语中得知情况。这样的整个过程细节就是协议内容的一部分。

1.6数据单元

在网络中信息传送的单位称为数据单元。数据单元可分为:协议数据单元(PDU)、接口数据单元(IDU)和服务数据单元(SDU)。

1)协议数据单元

不同系统某层对等实体为实现该层协议所交换的信息单位,称为该层协议数据单。

其中:协议控制信息,是为实现协议而在传送的数据的首部或尾部加的控制信息,如地址、差错控制信息、序号信息等;用户数据为实体提供服务而为上层传送的信息。考虑到协议的要求,如时延、效率等因素,对协议数据单元的大小一般都有所限制。

2)服务数据单元

上层服务用户要求服务提供者传递的逻辑数据单元称为服务数据单元。考虑到协议数据单元对长度的限制,协议数据单元中的用户数据部分可能会对服务数据单元进行分段或合并。

3)接口数据单元

在同一系统的相邻两层实体的一次交互中,经过层间接口的信息单元,称为接口数据单元。

其中,接口控制信息是协议在通过层间接口时,需要加一些控制信息,如通过多少字节或要求的服务质量等,它只对协议数据单元通过接口时有作用,进入下层后丢弃;接口数据为通过接口传送的信息内容。

1.7网络体系结构

网络体系结构就是以完成不同计算机之间的通信合作为目标,把需要连接的每个计算机相互连接的功用分成明确的层次,在结构里面它规定了同层次进程通信的协议及相邻层之间的接口及服务。实际上网络体系结构就是用分层研究方法定义的计算机网络各层的功能、各层协议以及接口的集合。

2网络体系结构的分层原理

当今社会上存在这各个年代、各个厂家、各个类型的计算机系统,如果将这不同的系统进行连接就必须遵守某种互联标准规则。为了减少协议设计的复杂性,大多数网络都是按照层的方式来组织的。

在网络的各个不同分层结构中,每一层都要服务于它的上层,并且呀说明服务对象的相应接口,上层只不过是利用下层所提供的服务和相关的功能,不用知道下面的层次为了此次服务到底采用了什么样的方法和相关的协议,下层也仅仅是知道上面一个层次传送过来了什么参数,这就是层次间的无关性。处在各个不同的系统里面的相同层次之间的实体之间没有什么直接的相互通信的能力,它们的通信必须经过相邻近的下面层次和更加下层的各种通信来完成。分层结构的优点如下:

1)独立性强。各个层次之间有具体的分工,独立性是指被分层的具有相对独立功能的每一层只要知道下面的层次能够为自己提供的服务是什么和自己向上面一个层次能够提供什么服务就好,不用知道下面的层次为自己提供的服务需要什么方式;

2)适应性强。层与层之间是相互独立的,一层内部发生了变化并不影响与他相连接的其它各层;

3)易于实现和维护。整个大的系统进行分层后,一个复杂的系统被分解成很多个功能单一、范围较小的子系统,每一个层次仅仅实现了与自己相关的功能,不仅仅让复杂的系统变得清晰明了,也是网络系统中各个环节的实现和调试变得简单和容易。

3结论

计算机网络的体系复杂,各个层次间的联系多种多样,相信只要学习好现有的体系结构,一定能够应对各种网路体系问题,由于作者本身经验和知识层次的欠缺,文中难免会出现不合理之处,望作者批评指正。

计算机体系结构例2

计算机研究领域内已经有愈来愈多的人提出了自己关于解决计算机模拟软件技术的观点和看法。

一、计算机软件的发展现状

计算机体系结构模拟技术软件诞生于20世纪80年代。而且,早期的计算机处理设计结构当中主要采用的是数据驱动,就是对计算机的性能进行整体的分析。主要步骤:1.收集数据、2.执行指令、3.分析性能和计算机结构特征、4.统计数据、5.解释程序。需要说明的是,数据驱动是一种软件开发之后的数据分析,对计算机体系结构软件的开发能够提供的帮助很少,这也是为什么数据驱动逐渐被社会淘汰的缘故。

本着提高计算机体系结构的目的,相关研究人员在数据驱动的基础上又提出了性能分析这一概念。性能分析关键是建立数据之间的资源模型。因为模型的直观性能,研究人员可以更好的检测计算机的资源开发与利用情况。减少研究的时间和经费使用。宏观的来讲,计算机体系结构主要包含硬件与软件两部分。微观的来讲,计算机体系结构是指将一系列系统元素恰当地组织在一起,系统元素之间互相配合、协作,通过对信息进行及时的处理而完成设定的目标。这些系统元素有:计算机体系硬件、人员配备、程序。其中,程序和相关数据的整合,用于实现所需要的逻辑方法和控制过程。具有计算能力的电子设施和提供外部功能的电子设施是软件运行的必要装置;人员是硬件和软件的实际操作者,可以实现对软件的访问,而且具有规模性和组织性两大特征;文档是详细阐述系统使用方法的手册。而计算机体系结构模拟软件主要包含数据、模型、指令、程序等一些子概念。数学建模工具包括:计算机系统统计法、马尔可夫建模等等。数学建模对研究人员的数学理解能力提出了很高的要求。但不能否定的是,这种方法确实能起到很大的作用。研究人员对模型进行了简化处理,极大的方便了计算机体系结构软件的开发。

二、计算机体系结构软件模拟技术的定义

计算机体系结构定义众多。有人称之为模拟技术,也有人称之为仿真技术。计算机体系结构模拟,即用软件来模仿计算机的处理过程。同时,要求两者之间>:请记住我站域名/

计算机体系结构包括部分计算机结构和全部计算机结构两部分。它的步骤是:数据结果、指令接收、模拟运算、翻译指令等等。计算机的缓存命中率、访问的存储等都是计算机体系结构需要注意的指标。

三、 计算机体系结构分类

计算机体系因为结构复杂,所以不可能只有一种。从数量方面可以分为单核处理器模拟和多核处理器模拟;从指令方面可以分为单指令模拟结构和多指令模拟结构;从损耗角度分为性能模拟结构和能耗模拟结构;从模拟器的角度可以分为执行模拟结构和开发模拟结构;根据以上分类我们不难发现,计算机体系结构种类繁多。一方面,它为我们研究计算机体系结构模拟提供了许多参考价值;另一方面,它又为研究计算机体系结构增加了许多困难。

计算机体系结构例3

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

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

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

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

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

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

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

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

1)计算机体系结构仿真

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

2)计算机体系结构模拟

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

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

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

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

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

计算机体系结构例4

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

一.计算机体系结构软件模拟在研发中存在的问题

计算机体系结构软件模拟技术m然具有一定的优势,但也有一定的技术难题制约着其发展,例如计算机体系结构软件模拟器的开发难度大、软件模拟器的处理精度较差等。

(一)计算机体系结构软件模拟器的研发具有一定的难度

众所周知,计算机信息处理系统及其复杂,如果仅通过软件模拟器就想体现其在运行过程中,计算机系统内部各个部件的工作状态,几乎是不可能的。将复杂化的计算机系统进行简单化处理最有效的方式就是对计算机系统进行分层处理。而体系结构就是在这个基础上简化了系统,但经过分层处理之后的计算机系统,对于人们研究来说还是很复杂。另外,当前计算机系统的编程语言都是采用串行结构的C语言,利用C语言对系统内部元件进行模拟,不但耗时严重,而且如果中间一旦出现失误,那么整个编程语句将无法运行[4]。

(二)模拟器的处理精度较差

软件模拟器的运行精度较差主要是因为模拟器在研发过程中的设计不合理,或者是模拟器没有应用合理的策略。软件模拟器的开发主要经历三个步骤,首先是模拟器在理论上的研究及设计思路,其次是设计符合计算机系统的模拟器,最后则是实现模拟器的正常功能。软件在研发的过程中如果出现失误,对于第一个步骤而言,很有可能出现不能够正确分析计算机系统的各种模拟需求。对于第二个步骤而言,所造成的设计失误极有可能就是不能够正切构建计算机系统的内部,导致模拟器的错误设计。另外,模拟器的运行时间也会影响模拟器的使用精度,运行时间越长,则使用精度就越差。总而言之,计算机体系结构软件模拟器的设计之所以对软件模拟技术很重要,则是因为其还是计算机系统设计中的重要内容。甚至可以说,软件模拟器的质量决定者计算机处理器的设计质量和效率。

二.解决计算机体系结构软件模拟技术研发问题的措施

(一)降低计算机系统性能测试程序中的输入参数

为了缩短对模拟器的性能测试的程序运行时间,首先要在不改变标准化的计算机系统性能测试中的运行指令的前提下,对计算机系统性能检测程序中的输入参数进行科学合理的更正,这种方式不仅能够利用少量的输入参数使模拟器正常运行,而且还保证了模拟器运行结构准确代表计算机系统各个程序指令的模拟运作结果,不仅提升了模拟器运行的精度,而且还有效的降低了模拟器在运行性能检测程序过程中的运作时间[5]。

(二)减少运作模拟程序指令数量

在对计算机体系结构软件的性能进行标准性能检测程序的过程中,要科学合理的采用正确的模拟程序指令进行操作,并用这些指令运作的结果代替原有的运作结果。经研究发现,准确的模拟程序指令是提高模拟运作速度和精度的最佳方法。通常情况下,可利用统计方式抽样选择运行程序指令和直接性截获连续程序指令这两种方式选择运作模拟程序指令。其中,直接性截获连续程序指令的操作过程与统计方式抽样选择运行的程序指令方式相比较为容易,但缺点就是精度低,而统计方式抽样选择运行程序指令虽然操作过程较为复杂,但其模拟精度高。

三.总结

随着计算机系统更新频率的加快,计算机体系结构软件模拟技术的重要性日益凸显,从上述内容可得知,计算机体系结构软件模拟技术的工作内容主要是针对计算机中央处理器以及计算机系统设计。模拟技术水平在很大程度上影响着计算机系统的设计效果和计算机处理器的制作水平。其次,由于计算机体系结构软件模拟技术具有一定的优势,所以其注定将成为信息时代人们关注和研究的重点问题。而计算机体系结构软件模拟技术也必将会计算机体系结构的重点技术。

参考文献

[1]李振.浅析计算机体系结构软件模拟技术[J].大科技.2016(3).

计算机体系结构例5

虽然软件模拟技术在计算机体系结构上的应用起步较晚,但是已经取得了一定的成就,在现代处理器或计算机系统设计中,体系结构软件模拟技术已成为一个不可缺少的环节。尽管如此,软件模拟技术仍然存在着许多的问题,由于软件模拟技术的开发工艺比较复杂,还需要花费大量的时间对其进行标准测试,所以为了能够让它在计算机体系结构方面的应用能够达到人们对计算机能力日益增长的需求,需要对计算机体系机构软件模拟技术进行分析。

1 计算机体系结构软件模拟技术存在的问题

1.1 软件模拟技术的开发难度比较大

由于计算机的机构极其复杂,当前如果要将计算机里边的晶体管和电路全部通过模拟技术实现是不太现实的操作,所以只能采取结构简化措施,按照一定的层次分配对计算机的体系结构进行简化。但是在同等情况下,计算机体系结构在简化之后依旧相当的复杂,不利于软件模拟技术的开发。所以,为了能够解决计算机体系结构软件模拟技术在应用过程中的这一难题,编程人员经过研究发现可以使用C语言当中的功能语言来开发相对应的模拟软件。这种方式下开发出来的软件和其它方式开发的软件相比,具有明显的优势,比如在使用过程更不容易出错,还可以减少对能源资源以及时间的消耗。当前我国在软件模拟技术开发方面的工作,基本上都是在原本的模拟器基础上开始的,并没有严格遵守从最开始的步骤出发的要求,由于软件模拟技术的复杂性,让许多开发出来的软件在推广使用之前受到广大用户的质疑。因此在软件模拟技术的开展工作上,需要加大对软件设计的力度,以提高软件运行的准确性。

1.2 模拟器的设计时间长

计算机主机上的一大重要运行程序就是模拟器,在模拟运行系统运行过程的时候,记录处理器运行的状态一般都是利用时钟级别以上的记录器。在这种状态下包含大量的数据在当中,在模拟运行速度方面产生了直接的影响。目前我国最快的模拟器运行速度远远慢于计算机主机的硬件运行速度,通过软件模拟技术让处理器的运行速度不断提高,为能够同时提高软件模拟技术的测试运行性能,相关组织也相应的了测试标准程序,解决因测试耗费的时间过长而引起的低工作效率问题。

1.3 软件模拟技术中模拟器的运行结果有待提高

当前我们主要把计算机体系结构模拟器开发的主要过程分为三个阶段,其一是目标体系的构建,其二是模拟器结构的设计,其三是模拟器的实现。这三个阶段中目标体系的构建主要是针对迷你软件的开发,是它开发过程中的一个重要环节,但是在运行结果方面存在很大的缺陷。第二个阶段出现的问题主要体现在它的细节方面,虽然这个过程中能够对计算机的体系结构目标具有比较明确的理解,但是容易出现细节性的错误。综上所述,软件模拟技术在测试运行结果的时候需要特别注意一些运行方面的错误,避免给模拟器运行的结果带来严重的影响。

2 提高计算机体系结构软件模拟技术的有效措施

2.1 相应的减少模拟器运行的参数

为了能够提高计算机的运行速度,可以针对计算机的运行过程是用一些具有代表性的测试参数,并适当对一些模拟器的测试程序进行修改,以减少模拟器运行的参数,提高模拟器运行的测试效果,节约程序测试的使用时间。可以随意选去一些模拟器的运行参数,将它们设置在模拟器设置中,执行的结果为最终结果,如果参数的讯息可以在模拟器中找到对应的结果,则可以将其参数保存,反之则可以进行删减。通过减少运行参数的方式,不仅提高了运行的速度,还可以减少测试过程的误差,降低错误率,提高软件模拟技术在计算机体系结构方面的运用。

2.2 减少模拟器运行指令的数量

计算机作为当代社会信息传播的主要方式之一,在运行过程中需要消耗大量的数据,所以如果要对其运行过程进行全面的模拟,需要在程序中添加大量的运行指令来满足要求,而这些指令也正是运行耗费大量时间的关键所在。所以,为了能够很好的解决这一弊端,随着我国科学技术的不断进步,以及对软件模拟技术的深入研究,发现如果采用全部的指令来完成软件的模拟工作是行不通的,但是如果只是采用其中的部分指令,让这部分指令的运行过程来代替全部指令的运行过程,将让模拟效果大幅度提高。因此同时也面临着一个重要难题,在众多的指令中应该如何取舍才能完美的取代全部指令的运行过程。在做出指令选择的时候需要了解各指令之间的差异,对它的运行效果有所了解,然后进行筛选,在保证不直接影响模拟效果的前提下,选出具有代表性的指令。当前主要的指令选择方式有两种,一个是直接选择指令,另一个是通过统计学的方式对指令进行选择。

3 结语

随着我国信息的传输量大幅度提高,对计算机体系结构要求的提出的更高要求,软件模拟技术被大量的推广和应用,在计算机的发展过程中起到重要作用,对这项技术进行分析就是为了能够促进这项技术更好的发展。

参考文献

[1]李明树,杨秋松,翟健.软件过程建模方法研究[J].软件学报,2009(03).

[2]许建卫,陈明宇,杨伟,潘晓雷,郑规,赵健博,孙凝晖.计算机体系结构模拟器技术和发展[J].系统仿真学报, 2009(20).

计算机体系结构例6

中图分类号: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.

计算机体系结构例7

从根本上讲,可穿戴计算机属于一种能够移动的计算系统,其主要特点在于个性化强、体积较小、重量较轻、用途多样以及能够穿戴,这些特点虽然是可穿戴计算机的优势,但也使其资源受到了很大限制,而且在使用过程中,需要以无线通讯和移动通信为依托,与此同时,可穿戴计算机需要耗费大量资源,这些都在很大程度上阻碍着可穿戴计算机的进一步发展。因此,构建起一个外部支撑系统,是当前相关领域研究的重点课题,以下三种便是当前比较有代表性的解决方案:

1 美国Net Man

Net Man体系结构中包括四个层次:

1.1 程序管理器

主要负责为使用者提供用户界面,使用者可以以程序管理器为基础,对应用程序进行有效控制。而且,程序管理器还可以将设备的使用状态与操作情况完整的体现出来,为使用者的相关操作提供依据。

1.2 应用层

这一部分中汇集了所有应用程序,在使用可穿戴计算机时,需要在应用层中命令程序。这些应用绝大多数都来源于网络,也有一部分是本机自带的,在实际运用时,操作者可以根据实际情况,加载与卸载这些程序。

1.3 中间层

这一部分由以下四个管理器组成:

1.3.1 配置管理器

主要负责保存相关信息,如组件信息、设备信息、需求信息等。

1.3.2 资源管理器

主要负责监控资源情况,如硬盘空间、电池寿命、访问情况等。

1.3.3 决策管理器

主要负责确定系统操作,如软件装卸、设备运行等,决策过程中需要以概率为基础,构建模型,分析程序运行状态。

1.3.4 缓冲管理器

主要品负责数据储存,如果设备中储存的数据较多,决策管理器可以帮助其将一些数据清除。

1.4 网络层

这一部分的任务是为程序提供网络接口,将中间层和与之相对应的网络特性分离。使用者是这一部分的主要受益者,能够让整个通讯更加透明化,用户不需要考虑其联网方式。

美国Net Man体系的最大特点便在于其应用平台是相对动态的,可以实现对软件有针对性的重配置,还能够进行分布式运算,大大便捷了用户的使用。但该体系也存在一些缺点,如没有构建起安全机制、无法感应用户需求、不能进行个性化管理、尚未实现跨平台操作等。

2 英国Sulawesi

Sulawesi体系结构的特点是可扩展性非常强。其功能体现在两方面:其一,对可穿戴计算机体系中的全部输入方式与输出方式进行了有效整合,从而为接下来的开发工作提供了更加有针对性的设备,与此同时,还设置了相关标准,使系统得到有效扩展。其二,构建起了应用的加载和卸载机制,即便因突然断电使得系统中断,在重启之后,相应的应用与服务也不会受到影响。另外,该体系的特点在表现在以下方面:

2.1 模态相对较多

在该体系中,可以实现多很多输入模式的有效结构与操作控制,并以此为基础,形成多样化的输出形式。现阶段,该体系结构能够支持语音、网络、键盘等三种输入模式,并能够形成语音、网络以及可视化等三种输出形式。在设备中,无论输入,还是输出,都存在一个通用协议,以实现对系统的兼容与扩展。

2.2 可以通过对应用进程进行处理

对于可穿戴计算机来说,其使用要求之一便是能够实现对使用者的自动辅助,因此,需要对应用程序的运行进程进行处理,帮助程序自动完成任务。在该体系结构中,为Java,以接口为基础,能够实现在系统中的自动整合。

2.3 具备较强的可靠性

在可穿戴设备使用过程中,可能会发生一些难以预料的情况,这就要求系统能够以实际情况为基础,实现自动调整,以迎合环境变化,Sulawesi结构体系便具备这种功能。

3 芬兰MEX

MEX结构体系的特点是能够对可穿戴计算机的辐射面积提供链接、变化、覆盖等要求的支持。在该结构体系中,可穿戴计算机可以以环境为基础,实现服务的获取与导出。另外,该结构体系运用了自动监测机制,从而有效洞察位于环境中的相关服务,在这个过程中,还会通过代替方式,自动将感知到的服务加入具体设备中来。对于MEX结构体系来说,其运行过程中的要求有以下几点:

(1)能够实现设备中任意两个应用程序的相互通信。

(2)能够实现设备程序和普通计算机的相互通信。

(3)能够实现本设备程序与其他设备程序的相互通信。

(4)可以对设备中的任意一个程序进行加载或卸载操作。

(5)可以改变设备程序中的相关模块。

(6)设备程序可以使用任意程序所提供的服务。

(7)上述操作都能够自动进行,必要时可以通过用户请求。

4 结论

近年来,可穿戴计算机一直以来都是世界范围内研究的焦点,当前已知的结构体系绝大多数运用的是嵌入式或桌面式的,已经越来越难以适应可穿戴计算机的发展,所以,研发出新的结构体系已经成为当前的研究重点,也是可穿戴计算机未来发展的必经之路。

参考文献

[1]李淑侠,魏广平.动态可重构可穿戴计算机软件平台的设计与实现[J].物联网技术,2014,06:50-51.

[2]宗利永,白韬韬,张飞相等.文化创意产业科技需求视角下的可穿戴设备技术发展研究――基于知识图谱的分析方法[J].科技管理研究,2015,07:23-27.

[3]许鑫.可穿戴计算机设备的领域应用及其对信息服务的影响[J].图书情报工作,2015,13:74-81.

作者简介

计算机体系结构例8

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)34-0047-02

信息技术的产业化发展已经成为世界发展的趋势,也是市场竞争的热点,我国正处于信息高速发展的时期,信息资源是社会发展最大的财富。计算机网络的应用及推广,对社会的经济、文化、科技发展来说,既是机遇也是挑战,它就像一把双刃剑,一方面,其本身具有的开放性和共享性极大地推动了社会发展的进步,而另一方面,网络信息本身的安全性很低,网络信息安全的风险比较大,这是进一步建构网络安全体系亟待解决的重大难题。计算机网络安全通常是指网络系统中的硬件、软件要受到双重保护,不被更改、泄露和破坏,能够使整个网络系统持续稳定的运行,从而保证网络信息的安全性和完整性。

1计算机网络安全结构的特征

随着计算机网络的出现,不同物理位置的信息共享得到了实现,也正是由于信息共享更加方面,所以计算机网络得到了社会的广泛使用,随着计算机网络使用的范围越来越大,涉及的层面越来越深,其在为人民带来方便与利益的同时,也给人们带来了巨大的安全威胁。要减少这些危害,首先需要了解计算机网络安全结构的特征。

1.1保密性与完整性

保密性与完整性是网络信息安全的重要特征,是保障计算机网络安全的重要途径。保密性是指在计算机网络运行过程中保证机密信息不被泄露给非授权用户的过程,保证只有网络授权用户才能接收、使用信息。完整性是指在计算机网络运行过程中保证重要信息不被恶意篡改的过程,保证网络信息在存储、传输过程中不被改变、破坏或丢失。完整性要求保持网络信息的正确生成、正确存储和正确传输,它是面对网络信息的整体而言的。保密性与完整性相辅相成,共同保护计算机网络信息的安全。保密性要求网络信息不被泄露给未授权使用的人,而完整性则要求网络信息不受到其他外界因素的干扰和破坏。

1.2真实性与可靠性

网络信息安全的真实性主要是针对用户而言的,是指授权用户身份信息的真实性。真实性主要是为了避免网络环境中冒名顶替制造虚假信息的现象发生,因此,对网络用户的实体身份信息进行鉴别是真实性需要解决的重要问题。网络信息安全的可靠性是指网络系统在特定的条件和时间内完成特定任务、功能的特征,这是计算机网络系统安全最基本的要求,也是建构计算机网络的信息安全体系结构的基本目标。

1.3可控性与占有性

网络信息安全的可控性主要是指对网络信息传播、运行的控制能力,对网络信息安全起到十分重要的把关作用。可控性要求杜绝不良信息通过网络发散、传播,避免造成不良的影响,危害网络环境的持续、稳定运行。网络信息安全的占有性是指授权用户有权利享受网络信息服务,即网络信息可被授权用户访问、存储、使用的特性。占有性是计算机网络信息安全系统面向授权用户的特殊性能,一方面,计算机网络系统的基本功能就是向授权用户提供信息服务;另一方面,网络用户的需求是多种多样的、随时随地的。因此,网络信息安全的占有性是相对于计算机网络功能而言的、要求人性化服务的重要特征。

2计算机网络安全面临的主要威胁

1)网络本身具有很强的开放性和共享性,这为网络黑客恶意破坏信息安全提高了良好的契机。2)网络信息具有很高的复杂性,增加了网络管理的难度,这也是网络信息安全管理过程中亟待攻克的难题。3)网络信息的高密度聚集性是计算机网络安全面临威胁的主要特征,高密度的信息往往更具有社会价值,同时也具有更大的风险,因此其安全性更易遭到威胁。

3计算机网络的信息安全体系结构分析

信息技术的高速发展与应用,使得人们对于网络信息安全的关注度日益提高,信息技术在不断发展,信息安全的内涵也在不断延伸,在网络信息领域已经产生了更加严谨的基础理论和安全技术。网络信息安全体系结构是一个不断发展变化的概念,因此,信息安全体系结构不能只停留在保证信息的完整性、保密性、真实性以及可控性等这些基础条件上,而是要转换思维,结合不同的安全保护因素,建构一个更权威、更有效、更严谨的综合网络保护屏障,大大减少恶意的网络信息攻击。完整高效的计算机网络信息安全体系结构模式应包含以下六个重要环节:

3.1预警

“防患于未然”在建构计算机网络信息安全体系结构的过程中具有预见性的重要意义。预警是实施网络信息安全体系的依据,它能通过对整个网络环境以及网络安全性的分析判断为信息安全保护体系提供精确、科学的评估和预测。预警是建构计算机网络信息安全体系结构的首要环节,它的作用意义重大。

3.2保护

保护是提高计算机网络安全性能、防范恶意入侵的积极防御手段,它主要是通过建立一种机制来检查系统的安全设置,通过弥补安全漏洞来降低网络信息的风险。保护是一种手段,它的目的是确保整个计算机网络信息系统结构中的每一个组成部分之间都能顺利完成相互间的配合,顺利完成保护的终极任务,确保网络信息安全防护工作的顺利施行。

3.3检测

检测是保证及时发现入侵行为的重要手段,是为响应提供可能的关键环节。它是通过对检测系统实施隐蔽技术,以防止入侵者发现防护措施并且破坏监测系统的一种主动反击行为,它能够为系统响应提供有效的时间,减少损失。有效检测可采用与防火墙互联互动、互动互防的技术手段,形成一个整体策略,并且设立安全监控中心,便于掌握整个网络的安全运行状态,这是有效防止入侵的根本途径。

3.4响应

响应是在发现恶意破坏行为之后,及时反击入侵,避免更大程度破坏行为发生的防护措施。在发现入侵行为后,及时做出准确的响应是必不可少的。现如今运用最好的系统响应包括有:实时响应阻断系统、攻击源跟踪系统、取证系统和反击系统。通过运用这些辅助工具来确保响应的准确实施,有效预防黑客入侵,为网络信息安全提供可靠保障。

3.5恢复

任何严密的体系都很难做到万无一失,因此,恢复在网络信息安全防范体系中就显得至关重要。恢复是一种事后弥补行为,它通过使用完善的备份机制确保重要信息的可恢复性,借助自动恢复系统、快速恢复系统来控制和修复恶意破坏,网络信息的风险规避至最低。

3.6反击

反击,是网络信息时代必不可少的手段,它主要是依据高端技术搜索网络黑客等犯罪分子的作案线索和证据,以便于依法查办犯罪分子,打击网络恐怖主义的犯罪行为。在虚拟的网络数字化空间中,网络用户身份的真实性是亟待证实的,在网络环境中查找犯罪人无疑像大海捞针,因此需要大力发展相应的取证、举证、、打击等技术,运用相关的数字化设备进行数据修复等一系列的求证分析活动。

4结束语

计算机网络的信息安全体系结构是保证信息的安全性和权威性的关键,是保证各个领域利益的重要环节。计算机网络信息安全体系的建构过程中,技术要素是关键,但建设核心还是要以人为本,结合实际情况,具体分析问题,以管理为保障、技术为手段,不断提高网络信息的安全性能。本文主要研究分析了计算机网络的信息安全体系结构,旨在立足于网络发展的整体,保证网络信息系统各个环节的安全,为建立可靠有效的计算机网络信息安全体系奠定坚实的理论基础。

参考文献:

[1]李铀.基于WEB信息系统的安全架构研究[J].计算机光盘软件与应用,2014(5).

计算机体系结构例9

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

计算机体系结构例10

[2]莫毓昌,张前贤,陈荣根.ARCH:用于计算机组成与结构课程教学的模拟器[J].计算机教育,2013(10):56-61.

[3]puter Organization and Architecture[M].5th edition NJ: Prentice Hall, 2000:1-98.

[4]A. Tanenbaum. Structured Computer Organization[M].4th edition, NJ: Prentice Hall, 1999:1-320.

[5]C Yehezkel, W. Yurcik, M. Pearson, and D. Armstrong. Three Simulator Tools For Teaching Computer Architecture: EasyCPU, Little Man Computer, and RTLSim [J]. Journal on Educational Resources in Computing, 2001,1(4):60-80.