计算机系统结构复习总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机系统结构复习总结
计算机系统结构复习总结
一、计算机系统结构概念
1.1 计算机系统结构:程序员所看到的计算机的基本属性,即概念性结构与功能特性。
*注意:对不同层次上的程序员来说,由于使用的程序设计语言不同,可能看到的概念性结构和功能特性会有所不同。
1.2 计算机系统的层次结构
现代计算机是一种包括机器硬件、指令系统、系统软件、应用程序和用户接口的集成系统。
现代计算机结构图
*注意:计算机结构的层次模型
依据计算机语言广义的理解,可将计算机系统看成由多级“虚拟”计算机所组成。
从语言层次上画分可得下图:
计算机结构的层次模型
1.3计算机系统结构组成与实现
计算机系统结构:是计算机系统的软件与硬件直接的界面
计算机组成:是指计算机系统结构的逻辑实现
计算机实现:是指计算机组成的物理实现*计算机系统结构、组成与实现三者间的关系:
计算机系统结构不同会影响到可用的计算机组成技术不同,而不同的计算机组成又会反过来影响到系统结构的设计。因此,计算机系统结构的设计必须结合应用来考虑,要为软件和算法的实现提供更多更好的硬件支持,同时要考虑可
能采用和准备采用哪些计算机组成技术,不能过多或不合理地限制各种计算机组成、实现技术的采用与发展。
计算机组成与计算机实现可以折衷,它主要取决于器件的来源、厂家的技术特长和性能价格比能否优化。应当在当时的器件技术条件下,使价格不增或只增很少的情况下尽可能提高系统的性能。
1.4 计算机系统结构的分类
计算机结构分类方式主要有三种:
(1)按“流”分类
按“流”分类法是Flynn教授在1966年提出的一种分类方法,它是按照计算机中
指令流(Instruction Stream)和数据流(Data Stream)的多倍性进行分类。指令流是指机
器执行的指令序列,数据流是指指令流调用
的数据序列。多倍性是指在计算机中最受限
制(瓶颈最严重)的部件上,在同一时间单
位中,最多可并行执行的指令条数或处理的
数据个数。
*注意:按“流”分类法,即Flynn分类法的逻
辑结构类型:
①SISD计算机
②SIMD计算机
③MISD计算机
④MIMD计算机
(2)按“并行性”和“流水线”分类
(3)按计算机系统结构的最大并行度进行分类
1.5计算机系统的设计与实现
随着大规模集成电路技术的发展和软件硬化的趋势,计算机系统软、硬件间界限已经变得模糊了。因为任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可由软件来完成。对于某一功能是采用硬件方案还是软件方案,取决于期间价格、速度、可靠性、储存容量、变更周期等因素。
*计算机系统的设计原则:
(1)加快经常性事件的速度------这是最重要也是被广泛采用的设计准则
使经常性事件的处理速度加快能明显提高整个系统的性能
(2)Amdahl定律
Amdahl定律:系统优化某部件所获得的系统性能的改善程度,取决于该部件被使用的频率,或所占总执行时间的比例。
主要应用:改善“系统瓶颈”性能。
Amdahl定律定义了加速比:
n个处理器加速因子S=n/[1+(n-1)f]:f为非平行百分比,n越大,S不能超过1/f
(3)访问局部性原理
程序访问局部性原理说明了计算机在程序执行过程中呈现出的一种规律,即程序往往重复使用它刚刚使用过的数据和指令。局部性分为时间上的局部性和空间上的局部性两种。所谓时间局部性是指近期被访问的代码,很可能不久又将再次被访问;空间局部性是指地址上相邻近的代码可能会被连续地访问。
*计算机系统设计的主要任务:
(1)确定用户定计算机系统的功能、价格
和性能要求
功能要求包括:应用领域、软件兼容性、操作系统的要求、各种通用国际标准的要求。
价格要求:考虑用户或市场对计算机功能和性能要求的前提下,尽量降低成本。
性能要求包括:速度、容量、输入/输出的种类、可靠性、可维护性、安全性、容错能力、人机交互的能力等。
(2)软硬件的平衡
硬件实现:速度快、成本高;灵活性差、占用内存少
软件实现:速度低、复制费用低;灵活性好、占用内存多
(3)设计出符合今后发展方向的系统结构
一个成功的系统结构应该能经得起软、硬件技术的发展以及应用的变化。因此设计者必须特别注意计算机应用和计算机技术的发展趋势,这样才能延长一种机器的使用寿命。
发展趋势:硬件实现的比例越来越高,软件所占的成本越来越高
1.6计算机系统性能评测
(1)CPU性能
CPU的性能是指CPU执行程序所用的时间,也就是CPU连续地执行一条条指令的时间,不包括I/O等待时间。
CPU的性能取决于三个要素:
①时钟频率f
②每条指令所花的时钟周期数CPI
③指令条数IC
其中,Ii 表示i指令在程序中执行的次数,CPIi表示i 指令所需的平均时钟周期数,n为指令种类数。
(2)MIPS和MFLOPS
1)MIPS表示每秒百万条指令数,对于一个给定的程序
MIPS的定义为:
程序的执行时间为:
其中:Te为程序执行时间,CPI 为每条指令的平均时钟周期,时钟频率为美妙周期数即每周期的时间的倒数。
极其愈快其MIPS值愈高,但MIPS对指令系统和程序的依赖性很大,在某些情况下不能准确反映系统的性能
2)MFLOPS表示每秒百万次浮点操作次数MFLOPS的定义为:
,MFLOPS用于衡量机器浮点操作的性能,同一程序在不同机器上执行的指令可能不同,但执行的浮点运算却是完全相同的。但MFLOPS不能体现机器的整体性能,MFLOPS取决于机器和程序两个方面,不同机器浮点运算集不同,因此不同浮点操作的