系统结构

一、计算机的发展历史
1.第一代计算机:1945-1954,首台计算机ENIAC。特征:单CPU、电子管、继电器、绝缘导线,采用机器语言和汇编语言。代表:IBM于1953年制造的IBM701。
2.第二代计算机:1955-1964,特征:晶体管、印刷电路板、已经有了高级语言和编译系统。代表:IBM于1962年研制的IBM7030。
3.第三代计算机:1965-7974,特征:采用小规模和中规模集成电路,微程序控制、流水线、CACHE、先行处理。代表:IBM1360-370。
4.第四代计算机:1974-1991,采用LSI和VLSI超大规模集成电路(Very Large Scale Integration)设计实现。特征:并行、分布。代表:VAX9000、IBM/3090VF,PC崛起。
5.第五代计算机:1991——  ,特征:大规模并行处理,采用可扩展的计算机系统结构。

计算机换代的标志有:
1.计算机的器件,器件的更新,其速度、功能、可靠性的不断提高和成本的不断降低,是计算机发展的物质基础,因此器件的换代是计算机换代的最突出的标志。
2.系统结构的特点,系统结构方面的特点是计算机换代的另一重要标志。
计算机系统性能的提高主要靠:器件的变革和系统结构的改进。

冯·诺依曼计算机,使用冯诺依曼体系机构的电子数字计算机。
1945年6月,冯•诺依曼提出了在数字计算机内部的存储器中存放程序的概念(Stored Program Concept),这是所有现代电子计算机的范式,被称为“冯• 诺依曼结构”,按这一结构建造的电脑称为存储程序计算机(Stored Program Computer),又称为通用计算机。冯•诺依曼计算机主要由运算器、控制器、存储器和输入输出设备组成,它的的特点是:程序以二进制代码的形式存放在存储器中;所有的指令都是由操作码和地址码组成;指令在其存储过程中按照执行的顺序;以运算器和控制器作为计算机结构的中心等。
冯·诺依曼计算机的主要特点是:存储程序方式;指令串行执行,并由控制器加以集中控制;单元定长的一维线性空间的存储器;使用低级机器语言,数据以二进制表示;单处理机结构,以运算器为中心。


二、近些年计算机发展的主要特点
1.从人围着计算机转,发展为计算机围着人转;突出表现为计算机(PC机)服务于人;PC机智能化、傻瓜化、消费性电子产品。

2.网络具有计算机功能,由原来的计算机具有联网功能发展为网络具有计算功能,由原来的资源共享->网络计算。即提供具有在Internet上协同计算的能力。技术基础有:
       DCOM:DCOM(分布式组件对象模型)是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。DCOM基于组件对象模型(COM)的,COM提供了一套允许同一台计算机上的客户端和服务器之间进行通信的接口(运行在Windows95或者其后的版本上)。Microsoft Distributed Component Object Model(DCOM)是Component Object Model(COM)的扩展,它支持不同的两台机器上的组件间的通信,而且不论它们是运行在局域网、广域网、还是Internet上。借助DCOM你的应用程序将能够任意进行空间分布。由于DCOM是COM这个组件技术的无缝升级,所以你能够从你现有的有关COM的知识中获益,你的以前在COM中开发的应用程序、组件、工具都可以移入分布式的环境中。DCOM将为你屏蔽底层网络协议的细节,你只需要集中精力于你的应用。

       CORBA:CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程 序体系规范。或者说CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。

3.计算机功能的优化,目的是建立和谐的人机交互,从追求“更快、更高、更全”的计算机慢慢发展为“好用、适用、易用”的计算机。形成“人机智能共增”的发展态势。其特点包括:
     • 能够实现自然的人机交互;
     • 能够实现个性化的主动服务;
     • 能够实现知识联网和全社会的知识共享;
     • 发展面向Agent;
     • 跟踪世界上最新的知识处理和人工智能。 

结论:凡有助于缩小人机隔阂,有助于建立和谐人机环境的理论、方法、技术和产品都具有强大的生命力。例如:MPP、Multimedia、Open System、Object-oriented、Netword computing、Embeobed、Computing等技术。


三、什么是计算机系统结构
计算机系统结构(Computer Architecture) :目前尚无统一的定义,且这一概念本身在不断的发展。
定义一:
       程序员所看到的计算机的属性,即概念性结构与功能特性(计算机的外部特性,即有哪些功能,而不考虑内部特性,即不考虑内部是如何实现该功能的);按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本是透明的。通常所说的计算机体系结构主要指机器语言级机器的系统结构。
       经典的关于计算机体系结构的定义是1964年C.M.Amdahl在介绍IBM360系统时提出的,其具体描述为“计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性” 。Amdahl提出的体系结构是传统机器级的体系结构,特指由操作系统或汇编语言程序设计者看到的计算机属性。

定义二:
       计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定。计算机系统由软件、硬件和固器组成,它们在功能上是同等的。同一种功能可以用硬件实现,也可以用软件或固件实现。不同的组成只是性能和价格不同。计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。主要研究软件、硬件功能分配和对软件、硬件界面的确定,即哪些功能由软件完成,哪些功能由硬件完成。

       计算机体系结构解决的是计算机系统在总体上、功能上需要解决的问题,它和计算机组成、计算机实现是不同的概念。一种体系结构可能有多种组成,一种组成也可能有多种物理实现。
       计 算机组成(Computer Organization)指的是计算机系统结构的逻辑实现,计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等。其目标是合理地把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。一般而言,计算机组成研究的范围包括:确定数据通路的宽度、确定各种操作对功能部件的共享程度、确定专用的功能部件、确定功能部件的并行度、设计缓冲和排队策略、设计控制机构和确定采用何种可靠技术等。
       计算机实现(Computer Implementation)是指计算机组成的物理实现,计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,信号传输技术,电源、冷却及装配等技术以及相关的制造工艺和技术。


四、传统机器级所具有的属性: 即一般所说的机器语言程序员所看到的传统机器级所具有的属性。
1.数据表示(硬件能够直接认别和处理的数据类型和格式)
2.寻址规则(包括最小寻址单元、寻址方式及其表示)
3.寄存器定义(包括各种寄存器的定义、数量和使用方式)
4.指令集(包括机器指令的操作类型和格式、指令间的排序和控制机构等)
5.中断系统(中断的类型、中断级别和中断响应方式等)
6. 机器工作状态的定义和切换(如管态和目态等)
7.存储系统(最小编址单位、编址方式、主存容量、最大可编址空间等)
8.信息保护(包括信息保护方式和硬件对信息保护的支持)
9. I/O结构(包括I/O连接方式、处理机/存储器与I/O设备间数据传送的方式和格式以及I/O操作的状态控制等)


五、计算机系统结构的分类
1、按其性能和价格的综合指标:可以分为巨型、中型、小型、微型等类型;
2、按用途划分:可以分为科学计算、事务处理、实时控制、实用等计算机;
3、按CPU数目划分:可以分为单处理机、多处理机、并行处理机、关联处理机、超标量处理机、流水处理机、SMP(对称多处理机)、MPP(Massively Parallel Processors)、机群系统等。
4、Flynn分类法
     1966年,Michael.J.Flynn提出根据指令流、数据流的多倍性(multiplicity)特征对计算机系统进行分类,定义如下:
      • 指令流:机器执行的指令序列;
      • 数据流:由指令流调用的数据序列,包括输入数据和中间结果;
      • 多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数;
      SISD :单指令流单数据流(Single Instruction Stream Single Data Stream)
                   SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。
      SIMD:单指令流多数据流(Single Instruction Stream Multiple Data Stream)
                   SIMD以并行处理机为代表,并行处理机包括多个重复的处理单元PU1~PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同的数据。
      MISD:多指令流单数据流(Multiple Instruction Stream Single Data Stream)
                   它具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。
      MIMD:多指令流多数据流(Multiple Instruction Stream Multiple Data Stream)
                   是指能实现作业、任务、指令等各级全面并行的多机系统,多处理机就属于MIMD。
5、冯氏分类法
     1972年,美籍华人冯泽云教授提出用最大并行度Pm来对计算机体系结构进行分类。
      最大并行度Pm:计算机系统在单位时间内能够处理的最大二进制位数。
      平均并行度为Pa:设每一个时钟周期△ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa=(∑Pi)/T(其中i为1,2,…,T)。
      平均并行度取决于系统的运行程度,与应用程序有关,所以,系统在周期T内的平均利用率为μ=Pa/Pm=(∑Pi)/(T*Pm)。
      用最大并行度对计算机体系结构进行的分类时,用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm=N*M。由此可以将计算机系统划分为以下四种结构:
      • 字串位串WSBS(Word Serial and Bit Serial) 其中n= 1,m= 1,这是第一代计算机,为纯串行计算机。
      • 字并位串WPBS(Word Parallel and Bit Serial )其中N=1,M>1,称之为并行单处理机
      • 字串位并WSBP(Word Serial and Bit Parallel )其中N>1,M=1,例如STARAN、MPP、DAP 等都属于这种结构。
      • 字并位并WPBP(Word Parallel and Bit Parallet )其中N>1,M>1,如PEPE、ILLIAC、CMMP 等。


六、计算机系统结构中的其它若干概念
1、软件的可移植性:指一个软件不经修改或少量修改便可移植到另一台机器上运行。
      解决的方法:
       • 系列机方法:具有相同的系统结构,但具有不同的组成和实现的系列计算机。软件兼容可分为向上(难)、向下(常见)、向前(常见)、向后(难)。
       • 兼容机:不同厂家生产的具有相同的计算机系统结构的计算机。
       • 模拟方法  定义:是指通过软件方法在一台计算机上模拟另一台计算机的指令系统。 模拟方法速度较慢。
       • 仿真方法  模拟方法全部采用软件的方法实现,因此速度慢。当A机的模拟程序由A机的微程序实现时,称之为仿真。也就是说,仿真是通过宿主机的微程序控制完成解释执行的。这种方法的速度较快。但灵活性较差。模拟和仿真的实现思想被应用到异质资源的共享中。一般将两种方法混合作用,对于使用频率高的指令用仿真方法,而对于频率低而且难于仿真实现的指令使用模拟的方法加以实现。
       •采用统一的高级语言方法 


七、设计准则
1.加快经常性事件的速度

2.阿姆达尔定律(主要应用改善“系统瓶颈”性能):
阿姆达尔定律是计算机系统设计的重要定量原理之一,于1967年由IBM360系列机的主要设计者阿姆达尔首先提出。该定律是指:系统中对某一部件采用更快执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频率,或所占总执行时间的比例。阿姆达尔定律实际上定义了采取增强(加速)某部分功能处理的措施后可获得的性能改进或执行时间的加速比。
Amdahl定律定义了加速比:加速比=采用改进措施后性能/未采用改进措施前的性能=未采用改进措施前执行某任务时间/采用改进措施后执行某任务的时间
Amdahl定律中,加速比与两个因素有关:
一个是计算机执行某个任务的总时间中可被改进部分的时间所占的百分比,即(可改进部分占用的时间/改进前整个任务的执行时间)记为Fe,它总小于1;
一个是改进部分采用改进措施后比没有采用改进措施前性能提高倍数,即(改进前改进部分的执行时间/改进后改进部分的执行时间)记为Se,它总大于1。
可得如下结论:
改进后整个任务的执行时间为:Tn=T0×(1-Fe+Fe/Se);T0为改进前的整个任务的执行时间。
改进后整个系统的加速比为:Sn=T0/Tn=1/((1-Fe) + Fe/Se);1-Fe表示不可改进部分。当Fe为0表示没有可改进部分时,Sn为1,所以性能的提高幅度受改进部分所占比例的限制;当Sn趋于无穷时,Sn=1/(1-Fe),因此可获取性能改善极限受Fe的约束。

3.CPU性能公式
CPU时间=指令数×CPI×时钟周期时间=指令数×CPI/时钟频率
CPI(clock cycles per instruction):每条指令的时钟周期数,表示执行某个程序或者程序片段时每条指令所需的时钟周期平均数。
IC指令数(instruction count ):执行某程序所需的总指令数量。
这个公式特别有用,因为它们把性能分解为三个关键因素:时钟频率,每条指令所花的时钟周期数,指令条数。

4.程序访问的局部性原理
局部性原理主要反映在时间和空间局部性两个方面,时间局部性是指程序中被访问的信息项可能马上将被再次访问,空间局部性指那些在访问地址上相邻近的信息项很可能被一起访问。

计算机系统设计的主要方法:
1.“由下往上”设计思路:从设计出微程序机器级开始,在此基础上再设计操作系统,汇编语言,高级语言等虚拟机器,这种设计在早期设计中广泛采用,因为那是硬件昂贵,软件处于被动地位。缺点是造成软硬件脱节,软件设计复杂。
2.“由上往下”设计思路:这是一种自然直观的设计方法。首先确定用户级虚拟机器的基本特征、数据类型和基本命令等,而后再逐级向下设计,直到硬件执行或解释那级为止。当然每级设计过程中,既要考虑实现方法,也要考虑如何使上一级能优化实现。从考虑如何满足应用要求开始设计。缺点是应用的改变会带来系统效率的急剧下降。
3.“由中间开始”设计思路:“中间”指的是层次结构中的软硬交界面。既考虑能拿到的硬、器件,又要考虑硬件对操作系统、编译系统的实现提供什么支持,然后由中间点分别往上、往下进行软件和硬件的设计。优点在于:针对上述两种方法的缺陷,软、硬件并行设计,缩短系统设计时间,软硬件功能在设计过程可根据实际情况进行修改,交互性好。

八、计算机系统的相关性能指标
1.运算速度
  以MIPS(每秒百万条执行)为计量单位,单位时间内执行指令的平均条数衡量运算速度。
  以CPI(每条指令执行所需时钟周期)为计量单位
  在科学计算的计算机中,采用MFLOPS(每秒百万浮点运算次数)来衡量。
  CPU执行时间T来衡量: T=IC*CPI/f  IC为程序的指令数据,f为主频,CPI为所有指令执行的平均时钟周期数
2.吞吐量
  吞吐量即一定时间内所完成的工作量,是给定时间内流入,处理和流出系统的信息的数量。系统的吞吐量越大,说明系统在单位时间内完成的用于或习题请求越多,系统的资源可得到充分利用。吞吐量取决于信息能多快地输入内存,CPU能够多快地取指令,数据能够多快地从内存取出或存入以及所得结果能够多快地从内存送给外设。这些步骤中关系最大的是主存,因此系统吞吐量主要取决于主存的存取周期。
3.响应时间
  响应时间(response time)也叫执行时间,指计算机完成一个任务的总时间,包括磁盘存取,存储存取,I/O操作,操作系统开销,CPU执行时间等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值