体系结构详细资料大全

作者&投稿:鲍帖 (若有异议请与网页底部的电邮联系)
~

体系结构,包括一组部件以及部件之间的联系。自1964年G. Amdahl首次提出体系结构这个概念,人们对计算机系统开始有了统一而清晰的认识,为从此以后计算机系统的设计与开发奠定了良好的基础。近四十年来, 体系结构学科得到了长足的发展, 其内涵和外延得到了极大的丰富。特别是网路计算技术的发展,使得网路计算体系结构成为当今一种主要的计算模式结构。

微电子技术的飞速发展使晶片级体系结构研究成为一个挑战性课题。体系结构与系统软体,套用软体,程式设计语言的紧密结合与相互作用也使今天的计算机与以往有很大的不同,并触发了大量的前沿技术、相关产品开发与基础研究课题。

基本介绍

  • 中文名 :体系结构
  • 外文名 : Computer Architecture
  • 分类 :虚拟机,包括解释器、规则基系统
  • 出现原由 :方法和概念来对系统的整体结构
  • 特点 :过滤器之间是相互独立的
分类,出现原由,系统分析,结构范式,管道和过滤器,面向对象的体系,事件驱动的体系,分层次的体系,知识库体系,解释器体系,开发观点,常见结构,严格的层次结构,事件驱动的体系,知识库的体系,基于解释器的体系,微处理器,

分类

体系结构风格有9大类: 1. 数据流系统,包括顺序批处理、管道和过滤器; 2. 调用-返回系统,包括主程式和子程式、面向对象系统、层次结构; 3. 独立部件,包括通信进程、事件隐式调用; 4.虚拟机,包括解释器、规则基系统; 5. 以数据为中心的系统(库),包括资料库、超文本系统、黑板系统; 6. 特殊领域风格;例如过程控制、模拟器; 7. 特殊结构的风格,例如分散式处理、状态转移系统; 8. 不同风格合成建立的异构结构; 9. 最初始、最基本的主程式/子程式。

出现原由

在传统的程式设计领域中,人们使用流程图来表达系统的基本功能和实现的具体逻辑,但是,流程图实际上仅仅是源程式的图形化表示,无法给系统的分析和开发者提供更多的信息,所以没有在实际的系统开发过程中得到广泛的套用。 随着软体系统的规模和复杂性的增加,对软体系统的整体结构(数据和控制的逻辑)进行分析和描述成为大型系统开发的一个不可缺少的重要部分,显然,使用流程图是无法达到这个目标的,我们必须使用新的方法和概念来对系统的整体结构进行把握。

系统分析

系统分析实际上包括两个阶段的工作,首先是需求的分析,也就是说,划分出系统和环境之间的界面,将所研究(或者是将要开发)的系统和周围的环境分离,这就是从使用者的观点,将整个系统作为一个整体来考察。其次是系统的设计,根据系统的整体功能和数据,参考实际的物理系统或者类似的系统,设计实际运行的软体系统,这一步骤实际上就是体系结构的分析和确定。 从系统工程的观点看来,任何复杂的系统都是由相对简单的,在当前所分析的系统层次是原始的基本元素(虽然在更进一步的分析中,这些元素可能具有非常复杂的内部结构)组成的,这些基本元素之间存在复杂的相互作用。所以,软体系统的分析和设计的基本任务是:确立系统中的基本元素(完成系统的功能所必不可少的成分);确定这些元素之间相互作用的方式(这就是系统的体系结构)。

结构范式

管道和过滤器

每个组件具有输入和输出的集合,从流中读出数据作为输入,产生输出数据的流。整个系统可以看成多个过滤器复合形成的数据处理组件。 过滤器A 过滤器B 过滤器C 管道 特点:
  • 过滤器之间是相互独立的(不能共享状态),其中一个过滤器的操作和行为不能影响另外过滤器的操作和行为,流的传送没有副作用。
  • 过滤器对所输入流的来源和输出流的去向不关心,不需要知道流的来源和流的去向,来源和去向对于过滤器的数据处理没有任何影响。
  • 过滤和流的传送可以是并发的,可以同时有多个流的传送存在于系统之中。
实例: 一个最著名的实例是unix的shell编程,多个对数据进行处理的程式(组件)通过管道联结起来,产生总和的效果;还有传统的编译器,原始码经过词法分析、语法分析、中间代码生成、目标代码生成等步骤生成输出的目标代码。 优点:
  • 整个系统的功能是多个过滤器作用的总和,这样可以简化系统的分析和设计,可以经过需求的分析之后将整个系统作为一个过滤器处理,然后再逐步的细化成为多个相互连线的过滤器。
  • 支持组件的重用,同一个过滤器可以多次出现在系统的不同位置。
  • 易于维护和增强,过滤器可以被替换,可以增加新的过滤器到系统中而不改变原有的过滤器,不改变原来系统的基本功能。
  • 本质上的并发性支持,这种体系结构由于本质上是与各个独立的过滤器的状态无关的,与并行的流的通过次序也是无关的,所以并发是一个基本的体系结构自然具有的特性。
缺点:
  • 由于过滤器之间本质上是独立的,所以设计者必须独立考虑每一个过滤器的输入、处理和输出的过程,对于过滤器逻辑上的共同点和相互关系无法在设计中加以体现。
  • 由于这种体系的批处理特性,所以不适合开发和用户互动的应用程式。
  • 系统的多个处理流之间的共同特性无法提取、多个过滤器之间的共同特性也无法提取,所以增加了设计的复杂性。

面向对象的体系

在这种体系中,数据和数据上的操作被封装成抽象数据类型或者对象。系统由大量的对象组成,在物理上,对象之间通过函式或者过程调用相互作用;在逻辑上,对象之间通过集成、复合等方式实现设计的复用。 对象D 对象B 对象A 对象E 对象C 对象调用 对象调用 对象调用 类A 类B 类C 类G 对象A 对象E 类F 复合 继承 物理结构逻辑结构 特点: 面向对象系统分析和设计的资料已经太多,这里就不再详细说明了。 优点: 由于封装,实现了灵活性和扩充性,隐藏了实现的细节,提高代码的质量; 使用继承和多态、提高了软体的可重用性。 缺点: 最主要的缺点是,由于对象之间的互动是通过明确的对象函式调用进行的,所以当一个对象需要实现一个特定功能的时候,必须知道哪一个对象提供这种服务,这就降低了系统的灵活性。管道和过滤器模型不需要明确指明数据的来源和去向。

事件驱动的体系

对象E 对象E 对象E 事件分发的汇流排 事件的创建 事件接收者的注册的创建 对象E 这是面向对象和数据抽象体系的一种变形,系统同样是由大量的对象组成的,但是对象之间的互动不是通过明确指明对象的函式或者过程调用进行的,相反,系统提供事件的创建和发布的机制,对象产生事件,一个或者多个对象通过向系统注册关注这个事件并由此触发出相应的行为或者产生新的事件。 实例: 一个最著名的例子是GUI的模型,滑鼠、键盘或者其他输入设备产生各种事件,视窗、程式或者其他对象有这些事件所触发,产生新的事件、进行数据处理或者其他操作。 优点: 用于函式和过程的调用调用不需要指明特定的对象,所以系统具有非常好的灵活性和扩展性,新的组件只需要向系统的事件处理部分注册就可以立刻加入系统中,同样,老的组件也可以方便的从系统中删除。对于动态性要求特别高的系统,特别是如果需要在运行时对系统进行扩充,应该采用该结构。 缺点: 由于函式调用是通过事件传送进行的,所以,发出事件的对象不能确认是否有对象处理了这个事件、是否是期望的对象处理了这个事件、是否获得期望的结果,同样也无法控制事件发生的次序,系统的逻辑和时序的正确性必须通过复杂的时序逻辑和前后条件的断言加以保证。

分层次的体系

将系统功能和组件分成不同的功能层次,一般而言,只有最上层的组件和功能可以被系统外的使用者访问,只有相邻的层次之间才能够有函式调用。 下面是一个基本的商务处理系统的层次结构: 用户界面层 事务逻辑层 核心层 实例: 显然,ISO的OSI(开放系统互连)参考模型是最著名的层次模型的例子,通过将开放系统的功能和组件划分成7个层次,定义清晰的(很多时候是过于复杂的)层次之间的接口,实现复杂的互操作性。 优点:
  • 系统的开发和设计可以逐步的分层次的进行,从底层的简单的功能逐步建立高层的复杂和抽象的功能。
  • 灵活性和扩展性,由于相邻层次之间通过清晰的接口互动,所以特定的层次可以被替换和增强,甚至可以增加新的层次。
缺点:
  • 不是所有的系统都可以分解成为清楚的层次
  • 划分清晰、逻辑上一致的层次是非常困难的(OSI的失败和TCP/IP的成功说明了这一点)
  • 严格的层次调用结构会降低系统的性能。

知识库体系

使用一个中心数据结构表示系统的当前状态,一组相互独立的组件在中心资料库上进行操作。如果组件负责对中心数据进行选择、处理,这种体系就是传统的资料库模型;如果中心数据结构自主的引发一系列的行为,则这种体系可以看成一个黑板模型。 中心资料库(知识库) 客户组件A 客户组件B 客户组件C 实例: 大量的传统资料库应用程式实际上就是这一体系的具体实例。在很多研究系统中,使用的基于知识库的黑板模型,实际上也是这种体系 优点: 以数据为中心的体系结构,可以自然的表示大量的数据和事务处理的逻辑,适合表达以数据为重新的应用程式。 缺点: 只有很少一部分简单的资料库存储套用可以完全采用这种体系结构表示,在大量实际的商业套用中,完成师傅处理和其他逻辑的应用程式必须采用其他的体系结构表达

解释器体系

用户 如果应用程式的逻辑非常复杂,例如,AutoCAD的各种绘图指令,而且,用户可能以非常复杂的方式使用这个系统,一个较好的体系就是提供面向领域的一组指令(语言),系统解释这种语言,产生相应的行为,用户使用这种指令(语言)完成复杂的操作。 使用虚拟机语言描述的业务逻辑 虚拟机解释器 完成实际操作任务的基本指令 实际的问题领域 实例: 大量的开发工具、二次开发工具体现了这一思想:微软在其产品中大量使用的Visual Basic for Application,以及在AutoDesk产品中大量使用的AutoLisp语言,实际上就是给用户提供了一种面向领域的语言,然后核心解释执行这一语言的指令和指令序列。从而扩充产品的功能,方便用户按照自己的需要定制系统。 优点: 非常好的扩展性,用户可以实现对软体系统的二次开发。 缺点: 软体开发复杂,特别是这种指令集的设计非常困难。 是否可以采用一种成熟的语言作为二次开发的基础(例如,基于Java)

开发观点

在实际开发过程中,简单的判断某一个具体的套用应该采取何种体系结构是非常困难的,简单的管道、过滤器体系已经非常少见,面向对象的思想已经融合在几乎所有的体系结构之中,而层次化的思想同样也被广泛使用,所以,一个基本的系统分析方法应该是功能和复杂性的分解,也就是说,从横向分解(分模组、子系统),纵向分解中得到系统的基本组件(分类、分层次的功能和对象)。然后根据问题领域的特性选择系统的行为模式(具体的体系结构)。

常见结构

严格的层次结构

(系统可以清楚的分解成为不同的功能层次,例如基本的图形库,提供不同层次的绘图接口) 这种体系结构适合于系统的功能相对简单,并且可以按照复杂的程度、抽象的程度、和硬体平台的关系等方面的特性加以分层的软体中。

事件驱动的体系

对互操作性、特别是异构环境下的互操作性要求非常高的情况下,可以采用这种体系,当整个系统中存在大量的并发的,相互之间没有逻辑联系的组件的时候(例如作业系统或者图形用户界面)可以使用这种体系结构。现代软体技术中微软的COM和ISO的CORBA实际上都是这种体系结构的例子。

知识库的体系

以大量数据为核心的系统采用这种体系,一些人工智慧的套用同样需要这种体系结构,面向对象的知识库是这种体系结构的一个发展方向。将面向对象和层次化的思想引入知识库系统中,将得到一种非常强大的体系结构。

基于解释器的体系

如果套用系统和用户的互动非常复杂,采用这种体系结构是最适合的方案,只有将系统的基本操作以指令的形式提供给用户,同时,提供一种简单明了的语法和基本的数据操作、处理的功能,才能得到功能最强大、最灵活、具有最佳扩充新的套用系统;一个非常合适的例子是浏览器,一开始,浏览器只是简单的下载和显示HTML的页面,随着用户对界面互动要求的发展,开发出javascript,提供一种语言和基本的界面元素操纵的指令来得到扩充性和强大的功能。 绝大多数实际运行的系统都是上面几种体系结构的复合:在系统的某些部分采用一种体系结构而在其他的部分采用另外的体系,我们可以将复合几种基本体系结构的系统称作复合体系结构。在实际的系统分析和设计中,可能首先将整个系统作为一个功能体进行分析和权衡,得到适宜的、最上层的体系结构,如果该体系结构中的元素较为复杂,可以继续进行分解,得到某一部分的,局部的体系。 分析的层次应该在可以清晰的使用简单的功能和界面描述表达结束,这样,可以将我们在分析和设计的这一阶段将焦点集中在系统的总体结构上,而避免引入和所使用的语言、实现所具体需要的技术等实现的细节上。

微处理器

体系结构(architecture)规定了处理器的功能性行为,是处理器设计的规范。 微体系结构(microarchitecture)是体系结构的具体设计,即处理器实现。 某种体系结构在其生命周期内可以有多种逻辑实现。比如,Intel的IA-32架构,也称为“x86”架构,是一种设计规范。基于该规范下的产品包括包括Intel 8086、80186、80286、80386以及80486等。 中科院计算所的龙芯CPU,是我国具有自主智慧财产权的第一款CPU。其兼容MIPS指令集,意思就是说:在满足MIPS规范下开发出的新的具体逻辑实现。即一种新的处理器实现。



对等层详细资料大全
答:基本介绍 中文名 :对等层 外文名 :Peer Layers 领域 :计算机通讯 定义 :参考模型中处于同一层次的两端 同层互动,邻接层互动, OSI模型是一种分层的体系结构,共有7层,其分层原则为根据不同层次的抽象的分层,每层都可以实现一个明确的功能,每层功能的制定都有利于明确网路协定的...

硬体系统详细资料大全
答:随着电子系统的复杂化,系统设计已经成为一门重要的学科,传统的反复试验法已经越来越不适应时代的发展。发展迅速的软硬体协同设计技术越来越受到人们的重视。它是在系统目标要求的指导下,通过综合分析系统软硬体功能及现有资源,最大限度地挖掘系统软硬体之间的并发性,协调设计软硬体体系结构,以使系统工...

组织系统详细资料大全
答:体制是一种机构设定、职责许可权和领导关系、管理方式的结构体系。确定领导体制,设立管理组织机构,其实就是要解决领导权的权力结构问题,它包括权力划分、职责分工及其它们之间的相互关系。当然,在确定领导体制时,形式可以多种多样。 第二, 对组织中的全体人员指定职位、明确职责及相互划分。使组织中的每一个人明白自己...

机群系统详细资料大全
答:基本体系结构,机群系统一般结构,组建机群系统的需求和功能,机群系统与其他系统的比较,专用机群的互联结构,非专用机群,主要套用,格线计算,高性能计算集群,负载均衡集群, 基本体系结构 机群系统一般结构 机群系统包括下列组件: ·高性能的计算结点机(PC、工作站或SMP)。 ·具有较强网路功能的微核心作业系统。 ·高...

计算机专业计算机经典书籍汇总
答:因为这本书从计算机组成原理,体系结构, 编译还有汇编语言和编程语言全部都包括了。 《计算机网络》第七版 经典的计算机网络教材,采用作者独创的自顶向下方法来 讲授计算机网络的原理及其协议,自第1版出版以来已经 被数百所大学和学院选作教材,被译为14种语言。 看这个版本合适,后面的习题全部是修订过的! 《C程序...

软体开发详细资料大全
答:需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软体系统的体系结构,并将整个系统分解成若干个子系统或模组,定义子系统或模组间的接口关系,对各子系统进行具体设计定义,编写软体概要设计和详细设计说明书,资料库或数据结构设计说明书,组装测试计画...

醌(有机化合物)详细资料大全
答:是芳香族母核的两个氢原子各由一 个氧原子所代替而成的化合物。 醌类有高度共轭结构,故均为有色化合物,对位醌多半为黄色,邻位多半为红色或橙色。醌极易还原成对苯二酚(氢醌),后者也极易氧化成醌。二者构成了一个氧化还原体系,在多数情况下,可参与细胞的基本生化反应。 分布 醌类在植物...

SCADA系统详细资料大全
答:系统概述,说明,发展历程,发展瞻望,体系结构,硬体,软体,通信,系统构成,监控计算机,远程终端单元,可程式逻辑控制器,通信基础设施,人机界面, 系统概述 说明 SCADA系统是以计算机为基础的生产过程控制与调度自动化系统。它可以对现场的运行设备进行监视和控制。 由于各个套用领域对SCADA的要求不同,所以不同套用领域的SCADA...

通信子网详细资料大全
答:3、通信子网,在OSI体系中的位置是下三层。 作用 (一)网路硬体设备主要有:网路适配器、中继器、集线器、网桥、路由器、伺服器及传输电缆。 主要掌握有关的互连设备的作用,工作在网路体系结构模型的哪一个层次。 1、网路适配器(网卡):工作在物理层; 2、中继器:是工作于物理层的一种设备,用于简单的网路扩展...

有机酸详细资料大全
答:简介,分布,特点,价值,羧酸,分类,命名,结构,物理性质,化学性质, 简介 有机酸可与醇反应生成酯。羧基是羧酸的官能团,除甲酸(H一COOH)外,羧酸可看做是...在p-∏共轭体系中,电子的离域使羟基氧原子上的电子云向羰基转移,导致羟基氧上的电子云密度有所降低,羰基碳上的电子云密度有所增加。因此,p-∏共轭效应...