计算机系统结构复习总结Word格式.docx
《计算机系统结构复习总结Word格式.docx》由会员分享,可在线阅读,更多相关《计算机系统结构复习总结Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
指令流是指机器执行的指令序列,数据流是指指令流调用的数据序列。
多倍性是指在计算机中最受限制(瓶颈最严重)的部件上,在同一时间单位中,最多可并行执行的指令条数或处理的数据个数。
按“流”分类法,即Flynn分类法的逻辑结构类型:
1 SISD计算机
2 SIMD计算机
3 MISD计算机
4 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的性能取决于三个要素:
1 时钟频率f
2 每条指令所花的时钟周期数CPI
3 指令条数IC
其中,Ii表示i指令在程序中执行的次数,CPIi表示i指令所需的平均时钟周期数,n为指令种类数。
(2)MIPS和MFLOPS
1)MIPS表示每秒百万条指令数,对于一个给定的程序
MIPS的定义为:
程序的执行时间为:
其中:
Te为程序执行时间,CPI为每条指令的平均时钟周期,时钟频率为美妙周期数即每周期的时间的倒数。
极其愈快其MIPS值愈高,但MIPS对指令系统和程序的依赖性很大,在某些情况下不能准确反映系统的性能
2)MFLOPS表示每秒百万次浮点操作次数
MFLOPS的定义为:
,MFLOPS用于衡量机器浮点操作的性能,同一程序在不同机器上执行的指令可能不同,但执行的浮点运算却是完全相同的。
但MFLOPS不能体现机器的整体性能,MFLOPS取决于机器和程序两个方面,不同机器浮点运算集不同,因此不同浮点操作的时间也不同。
1.7计算机系统结构的演变
早期的计算机以运算器为中心。
以后50多年逐步演变以存储器为中心,并采用流水线、多处理器、多处理机的并行处理技术,使其功能得到不断地提高。
1.8并行处理技术
并行处理技术是提高计算机性能的最佳途径,也是计算机未来的发展方向。
并行处理以发展多处理器和并行计算为基础,出现了阵列机和多处理机系统;
随着计算机网络的发展,又发展各种适应于网络环境的计算机,以便更大范围地实现并行处理与资源共享。
1 采用多处理器:
以支流水线和并行处理技术,加快指令的执行和数据处理的速度,比如产生了针对向量运算的向量机、脉动阵列机等。
2 采用多个处理机:
构成并行处理机系统,如设置浮点运算协处理机、I/O处理机等,以提高整机的数据处理能力和I/O速率;
在此基础上,发展为多个处理机的并行处理机系统。
3 网络计算机:
各种计算机都配置了调制解调器,以便联网,以实现更大范围的多机并行处理和资源共享。
*特别关注:
冯·
诺依曼计算机是一种控制驱动方式,它的基本原理是程序存储。
他的组成及工作原理如下图:
1.9应用需求对计算机系统结构的影响
(1)应用需求对计算机系统结构的影响
由于社会的应用需求,产生了第一台电子计算机,同时,也正是应用需求,一直在推动计算机发展。
为了满足应用需求对计算机性能的需要,计算机系统结构一直处于发展和变化之中,主要表现在运算速度、存储器容量和I/O吞吐率等方面。
1 为满足科学计算和大量数据信息的处理,计算机有小型机发展到中型机、大型机乃至于巨型机,在系统结构上产生了浮点运算器、阵列机、并行处理机以及各种多处理机系统等;
2 为满足自动控制、信号传输与通信的需要,产生了包括I/O处理机在内的各种专用计算机;
3 为实现智能化的控制与管理,出现了模糊处理机和模糊存储器;
4 为适应智能仪器仪表的发展,嵌入式计算机芯片大量地涌现了出来。
(2)选择合理的性能价格比
为了满足不同领域的特殊需求,需要为之设计高效率系统结构的计算机。
主要的应用领域有:
a.高结构化的数值运算:
流体力学、气象模型、有限元分析等;
b.非结构化的数值运算:
蒙特卡洛模拟、稀疏矩阵等;
c.实时多因素处理:
语音识别、图形图像处理、计算机视觉等;
d.大容量及高I/O密度的处理:
数据库系统、事务处理、大容量交换机等;
e.人工智能:
面向知识系统、推理系统、自学习系统、智能管理与控制等。
如果让一台计算机具有上述所有的功能,成本太高,使用效率不高。
因此,可把专用系统结构与通用系统结构结合起来,确定一个合理的价格比。
2.0器件对计算机系统结构的影响
在计算机中,器件的类型非常多,通常起主要作用的主要表现在以下几个方面:
1 逻辑电路的综合功能在不断地提高,单个芯片中晶体管的数量以每年(60%~80%)的速率在增长,CPU的速度在不断地提高.
2 动态存储器DRAM的芯片的密度每年以(50%~60%)的速率在增长,存储周期大约10年下降1/3。
3 磁盘密度每年大约以50%的速率增长,三年增长4倍,存取时间大约10年下降1/3.
除此之外,其他器件、外围设备的性能,也在大幅度地提高。
这些对计算机系统结构的发展也起到很大的处境作用。
(1)提高主频
主频是计算机的一项主要参数。
如今期间发展了,速度提高了,一方面可简化具体的电路;
另一方面,可容易地提高CPU的速度。
(2)对系统结构的影响
由于构成计算机的器件发展为大规模和超大规模集成电路,每一个芯片中包含有数以千万计的晶体管电路,可为CPU配置大量的寄存器,构成寄存器窗口;
为主CPU配置浮点计算器、I/O处理器;
构成多CPU阵列、多处理机系统等。
(3)对性能价格比的影响
随着大规模、超大规模集成电路的发展,器件的规模不断扩大,功能不断增强,体积不断减小,可高兴不断提高。
使得大型机的功能向中小型机上转移,中小型机上的功能向微型机上转移,微型机的功能缩小为单片机、嵌入式微程序控制器等。
同时,使用LSI/VLSI技术还可使各类器件芯片的研发成本、生产成本下降。
因此其性能价格比提高。
二、名词概念
虚拟机:
用软件实现的机器叫做虚拟机,但虚拟机不一定完全由软件实现,有些操作可以由硬件或固件(固件是指具有软件功能的固件)实现。
系列机:
由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
兼容机:
它是指由不同公司厂家生产的具有相同系统结构的计算机。
流水线技术:
将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。
单功能流水线:
指流水线的各段之间的连接固定不变、只能完成一种固定功能的流水线。
多功能流水线:
指各段可以进行不同的连接,以实现不同的功能的流水线。
顺序流水线:
流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。
乱序流水线:
流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成。
这种流水线又称为无序流水线、错序流水线、异步流水线。
吞吐率:
在单位时间内流水线所完成的任务数量或输出结果的数量。
指令的动态调度:
是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。
是由硬件在程序实际运行时实施的。
指令的静态调度:
是指依靠编译器对代码进行静态调度,以减少相关和冲突。
它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。
超标量:
一种多指令流出技术。
它在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,但有个上限。
超流水:
在一个时钟周期内分时流出多条指令。
多级存储层次:
采用不同的技术实现的存储器,处在离CPU不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。
目标是达到离CPU最近的存储器的速度,最远的存储器的容量。
写直达法:
在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。
写回法:
只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。
集中式共享多处理机:
也称为对称式共享存储器多处理SMP。
它一般由几十个处理器构成,各处理器共享一个集中式的物理存储器,这个主存相对于各处理器的关系是对称的,
分布式共享多处理机:
它的共享存储器分布在各台处理机中,每台处理机都带有自己的本地存储器,组成一个“处理机-存储器”单元。
但是这些分布在各台处理机中的实际存储器又合在一起统一编址,
在逻辑上组成一个共享存储器。
这些处理机存储器单元通过互连网络连接在一起
,每台处理机除了能访问本地存储器外,还能通过互连网络直接访问在其他处理机存储器单元中的
“远程存储器”。
多Cache一致性:
多处理机中,当共享数据进入Cache,就可能出现多个处理器的Cache中都有同一存储器块的副本,要保证多个副本数据是一致的。
写作废协议:
在处理器对某个数据项进行写入之前,它拥有对该数据项的唯一的访问权
。
写更新协议:
当一个处理器对某数据项进行写入时,它把该新数据广播给所有其它Cache。
这些Cache用该新数据对其中的副本进行更新。
机群:
是一种价格低廉、易于构建、可扩放性极强的并行计算机系统。
它由多台同构或异构
的独立计算机通过高性能网络或局域网互连在一起,协同完成特定的并行计算任务。
从用户的角度来看,机群就是一个单一、集中的计算资源。
三、问答简析
1、简述CISC指令集结构功能设计的主要目标。
从当前的计算机技术观点来看,CISC指令集结构的计算机有什么缺点?
答:
主要目标:
增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。
缺点:
(1)
CISC结构的指令集中,各种指令的使用频率相差悬殊。
(2)CISC结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研
制时间和成本,而且还容易造成设计错误。
(3)CISC结构指令集的复杂性给VLSI设计增加了很大负担,不利于单片集成。
(4)CISC结构的指令集中,许多复杂指令需要很复杂的操作,因而运行速度慢。
(5)
在CISC结构的指令集中,由于各条指令的功能不均衡性,不利于采用先
进的计算机体系结构技术(如流水技术)来提高系统的性能。
2、简述RISC指令集结构的设计原则。
(1)指令条数少,指令功能简单。
(2)采用简单而又统一的指令格式,并减少寻址方式
(3)指令的执行在单周期内完成。
(4)采用load-store结构。
(5)大多数指令都采用硬连逻辑来实现。
(6)强调优化编译器的作用,为高级语言程序生成优化的代码。
(7)充分利用流水技术来提高性能。
3、简述流水线技术的特点。
流水技术有以下特点:
流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。
因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。
(2)
流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。
(3)
流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。
(4)
流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。
流水线需要有通过时间和排空时间。
在这两个时间段中,流水线都不是满负荷工作。
4、Cache的映像方法有哪几种,各有什么优缺点?
(1)全相联映像:
主存中的任何一块可以被放置到cache中的任意一个位置。
但其不命中率最低。
(2)直接映像:
主存中的每一个块只能被放置到cache中的唯一位置,不命中率最高,但其实现复杂度和成本增加。
(3)主相联映像:
主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置。
综合了前两者的优点,但其实现更为复杂度、成本更高
5、单级存储器的缺点,采用什么方法可以解决?
单机存储器不能解决计算机运行速度、价格和容量的问题,直接影响了整个计算机系统的性能。
解决方发:
采用多种存储器技术,构成多级存储层次结构。
6、指令动态调度的优点
优点:
(1)
能够处理一些编译时情况不明的相关(如涉及存储器访问的相关),并简化了编译器;
(2)
能够使本来是面向某一流水线优化编译的代码在其他动态调度的流水线上也能高效
运行。
7、简述RISC指令集结构的设计原则。
(2)采用简单而又统一的指令格式,并减少寻址方式
8、常见的3种通用寄存器型指令集结构的优缺点有哪些?
9、区别不同指令集结构的主要因素是什么?
根据这个主要因素可将指令集结构分为哪3类?
区别不同指令集结构的主要因素是CPU中用来存储操作数的存储单元。
据此可将指令系统结构分为堆栈结构、累加器结构和通用寄存器结构。