计算机体系结构
计算机体系结构(ComputerArchitecture )是程序员所看到的
计算机的属性,即概念性结构与功能特性。按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本是透明的,通常所说的计算机体系结构主要指机器语言级机器的系统结构。经典的关于“计算机体系结构(computerarchitecture )”的定义是1964年
C.M.Amdahl 在介绍IBM360系统时提出的,其具体描述为“计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性” 。
现代计算机自问世以来已历经50余年的历史,但计算机所遵循
的基本结构形式始终是冯·诺依曼机结构。不过由于传统冯. 诺依曼计算机体系结构天然所具有的局限性,从根本上限制了计算机的发展。随着计算机发展,人们除了继续对命令式语言进行改进外,提出了若干非冯·诺依曼型的程序设计语言,并探索了适合于这类语言的新型计算机系统结构,大胆地脱离了冯·诺依曼原有的计算机模式,寻求有利于开发高度并行功能的新型计算机模式,例如哈佛结构、系统网络体系结构、数字网络结构、分布式计算体系结构等。
一、哈佛结构
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。与两个存储器相对应的是系统的4条总线:程序的数据总线与地址总线。这种分离的程序总线和数据总线可允许在一个机器周期内同时获得指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,提高了数据的吞吐率。又由于程序和数据存储在两个分开的物理空间中,因此取址和执行能完全重叠。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。哈佛结构的计算机由CPU 、程序存储器和数据存储器组成,程序存储器和数据存储器采用不同的总线,从而提供了较大的存储器带宽,使数据的移动和交换更加方便,尤其提供了较高的数字信号处理性能。
哈佛结构与冯·诺依曼结构处理器相比,处理器有两个明显的特点:使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;使用独立的两条总线,分别作为CPU 与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。改进的哈佛结构,其结构特点为:使用两个独立的存储器模
块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU 之间的数据传输;两条总线由程序存储器和数据存储器分时共用。
二、系统网络体系结构
系统网络体系结构(SNA ,Systems Network Architecture)是一种IBM 体系结构,它是在企业内部进行网络计算的一组产品。它早于IBM 地系统应用体系结构(SAA ),SNA 后来成为它的一部分,现在是IBM 的“开放蓝图”的一部分。随着多企业网络计算技术的到来,互联网、TCP/IP开放网络体系结构以及IBM 在寻求一种办法,在更大网络中将它企业内部的SNA 跟TCP/IP组合起来,用于更大网络中的应用。SNA 本身包含几个功能层,还包括数据链层、同步数据链控制(SDLC )以及一个称为虚拟无线通信访问方法的应用程序接口,后者是用于控制信息和数据交换的通信协议。SNA 包括节点的概念,节点包括提供一定建立功能的物理单元以及与特定网络事务相关的逻辑单元。
三、数字网络结构
数字网络结构(DNA)是一种分层结构,其层次和协议与OSI 七层
协议模型极其相似。其特点是:很好的分布式网络处理和控制功能;动态的路由选择能力:保证网络工作安全:有标准接口,可与其他厂家的计算机进行网络通信。每一层都将信息加到数据中,并提供低层需要的信息,这种结构的目的是很多硬件平台通过一个公用的接口相互通讯。设计的数字网络结构可以随着通讯技术的改变而变化,例如设计链路层支持三种协议:数字数据通讯报文协议(DDCMP)、以太计算机网络协议和X .25协议。数字数据通讯报文协议是七十年代中期使用的,用于数字网络结构的标准协议。以太计算机网络协议和X .25协议是随着局域网络和分组交换网络的广泛使用而增加的协议。
数字设备公司的DNA 是DECNet 功能的模型和结构。DECNet 是由软硬件组成的通信系统,而此系统使DEC 的操作系统和部件能在网络内与其他DEC 系统连接,并且充分开放,以能和其他公司生产的系统通信。DECNet 是用物理信道或线路相连的通信计算机群,每一台在网上的计算机称为“系统”。DNA 定义了标准协议、接口和功能以允许DECNet 系统共享数据和访问各种资源、程序和功能。DNA 目前有两组分开的协议,一组支持DEC 环境上的专用协议和接口,而另一组支持开放系统环境(OSI模型) 下定义的协议。靠使用分层的方法,基于与DECNet 有联系的层的DNA 将业务和功能分群。从功能上来看,DNA 被分成如下三类功能:(1) 用户功能、(2) 网络功能、(3) 通信功能。过了数年后,DEC 引入了一系列产品和服务以允许对DEC 计算平台和其他生产厂家的平台进行双向连通。
四、分布式计算体系结构
常用的分布式体系结构有两层C/S (Client/Server)体系结构和三层C/S体系结构。
(1)两层C/S体系结构
两层C/S体系结构将数据存取和应用程序分离开来,由数据服务器执行数据操作,客户机来执行应用程序。用户在客户端通过网络同服务器打交道,客户端包括用户界面和业务逻辑,网络上传送的数据主要是客户端向服务器发出的请求以及服务器发送给客户端的响应结果和出错信息。
两层C/S体系结构能较好的实现分布式机制,它优化了网络利用率,减少网络流量,客户机只把请求的内容传给服务器,服务器也只是返回最终结果,系统中不必传输整个数据文件的内容。两层C/S体系结构响应时间较短,其原因之一是网络的流量减少了,特别是如果允许在本地留下远端数据库的副本时,数据查询的性能会得到很大的提高。另外,通过把应用程序同它们处理的数据隔离,可以使数据具有独立性,这样,服务器就能对数据的存取进行充分而且有效的控制,未通过鉴别和授权的用户将无法对数据进行非法访问,系统数据的完整性可以得到充分的保证。
然而随着信息系统结构的复杂和规模的日益扩大,两层C/S体系结构成功的背后却逐渐暴露出其构架上的缺陷。具体表现在以下几方面:对客户端处理能力要求高,数据显示和数据处理都由客户端完成的工作方式增加了客户端的处理负担,对客户端的软硬件性能要求高,
增大了系统投资规模。代码的可重用性差,客户端的处理逻辑和代码只能为其单独使用,导致重复开发,延长了开发周期,提高了开发成本。系统可维护性差,系统数据处理逻辑或业务逻辑的改变需要修改每个客户端的数据处理程序,为维护工作带来极大的不便。可扩展性差,由于受到客户端与数据库服务器有效连接数目的限制,两层式应用程序的规模受到很大限制,扩展困难,不利于用户应用系统的逐步完善和扩充,也不能很好地保护用户已有投资。
(2)三层C/S体系结构
为了解决两层C/S体系结构存在的不足,业界提出了三层C/S体系结构,它的基本思想是将用户界面同业务逻辑分离,将系统按功能划分为几层,分别置于相同或不同的硬件平台上。一般划分为以下三层:
表示层:是信息系统的用户接口部分,即人机界面,是用户与系统之间交互信息的窗口,主要功能是指导操作人员使用界面,输入数据、输出结果。它并不拥有业务逻辑,或只拥有部分不涉及业务核心的应用逻辑。
业务层:是应用系统的主体,也被称作业务逻辑层,包括了系统中核心的和易变的业务逻辑(运作方法、管理模式等) ,它的功能是接收输入,处理后返回结果。
数据层:即实际意义上的关系数据库,负责管理应用系统的数据资源,完成数据操作。业务层在完成业务服务的过程中通过数据层存取它管理的数据,或请求数据层的数据服务。
三层C/S体系结构与两层C/S体系结构相比,具有明显的优势,主要表现在以下几个方面:
提高了系统运行的效率。三层C/S体系结构中由应用服务器来完成与数据库服务器的通信,这既减轻了客户端的负担,也降低了数据库服务器的连接代价,使数据库服务器不再忙于与客户端的通信,从而专心于数据服务。
增强了系统的可维护性。因为应用逻辑主要存在于应用服务器中,当应用逻辑发生变化时,只需要对应用服务器中的程序做出相应的修改,而几乎不影响客户端,因此也就不需要逐个更新客户端程序。
增强了系统的安全性。由于应用服务器把客户与数据库服务器分开了,所以客户端不能直接访问数据库服务器,同时也为系统增加了一层安全控制,减少了非法入侵者非法访问和破坏数据信息的机率。
提高了系统的可扩展性。系统各层逻辑上是独立的,三层既可以在一台计算机上,也可以分布在多台计算机上,因此可以根据实际需要,通过调整各层的软硬件处理能力,灵活地扩充系统的服务能力。
通过对计算机体系结构的学习,加深了我对计算机的认识,使我大概了解了计算机的工作原理以及计算机的属性和发展历史。通过对不同体系结构的对比和研究,更加强了我对这部分知识的记忆和理解。
参考文献: 1.《高级计算机结构》
2.《MTPS 体系结构透视》作者:(英国)(DominicSweetman)斯威特曼
3.《计算机网络体系结构》 著译者:李丽芬