体系结构复习题.docx
《体系结构复习题.docx》由会员分享,可在线阅读,更多相关《体系结构复习题.docx(15页珍藏版)》请在冰豆网上搜索。
体系结构复习题
名词解释:
1.计算机系统结构:
计算机体系结构包括指令集结构、计算机组成和计算机实现三个方面的内容。
2.CISC:
CISC是指采用一整套计算机指令进行操作的计算机。
而后又出现了精简指令集计算机,它精简了指令集,只保留了那些常用的指令,这样计算机能以更快的速度执行操作。
3.定向技术:
将计算结果从其产生的地方直接送到真正需要它的地方,而不是从寄存器文件读出使用,它是一种解决数据相关,避免流水线暂停的技术
4.指令级并行:
完成一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比
5.多级存储层次:
采用不同的技术实现的存储器,处在离CPU不同距离的层次上,目标是达到离CPU最近的存储器的速度,最远的存储器的容量
6.系统加速比:
对系统中某部分进行改进时,改进后系统性能提高的倍数。
7.RISC:
精简指令集计算机
8.动态流水线:
同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。
9.指令的动态调度:
是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。
是由硬件在程序实际运行时实施的。
10:
全相联映象:
主存中的任一块可以被放置到Cache中任意一个地方。
10.Amdahl定律:
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中的所占的重要性。
11.寻址方式:
就是寻找操作数或操作数地址的方式
12.静态流水线:
在同一段时间内,多功能流水线中的各个功能段只能按照一种固定的方式连接,实现一种固定的功能。
13.前瞻执行:
解决控制相关的方法,它对分支指令的结果进行猜测,然后按这个猜测结果继续取指、流出和执行后续的指令。
只是指令执行的结果不是写回到寄存器或存储器,而是放到一个称为ROB的缓冲器中。
等到相应的指令得到“确认”(即确实是应该执行的)后,才将结果写入寄存器或存储器
14.替换算法:
由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。
这时,需要被迫腾出其中的某一块,以接纳新调入的块
15.紧密耦合系统:
又称直接耦合系统。
在这种系统中,计算机之间的物理连接的频带较高,一般是通过总线或高速开关互连,可以共享主存
16.通用寄存器型机器:
可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果
17.数据相关:
考虑两条指令i和j,i在j的前面,如果下述条件之一成立,则称指令j与指令i数据相关:
(1)指令j使用指令i产生的结果;
(2)指令j与指令k数据相关,而指令k又与指令i数据相关。
18.写后读冲突:
考虑两条指令i和j,且i在j之前进入流水线,指令j用到指令i的计算结果,而且在i将结果写入寄存器之前就去读该寄存器,因而得到的是旧值
19.分支目标缓冲:
是一种动态分支预测技术。
将执行过的成功分支指令的地址以及预测的分支目标地址记录在一张硬件表中。
在每次取指令的同时,用该指令的地址与表中所有项目的相应字段进行比较,以便尽早知道分支是否成功,尽早知道分支目标地址,达到减少分支开销的目的。
20.存储程序计算机:
是将根据特定问题编写的程序存放在计算机存储器中,然后按存储器中的存储程序的首地址执行程序的第一条指令,以后就按照该程序的规定顺序执行其他指令,直至程序结束执行
21.松散耦合系统:
又称间接耦合系统,一般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。
计算机之间的相互作用是在文件或数据集一级上进行。
22.处理机间流水线:
又称为宏流水线。
它是把多个处理机串行连接起来,对同一数据流进行处理,每个处理机完成整个任务中的一部分。
前一个处理机的输出结果存入存储器中,作为后一个处理机的输入。
23:
分段开采:
当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。
23.全相联映象
判断题
24.()执行时间不是唯一的性能指标,但它是最普遍的性能表示形式。
25.()MIPS和MFLOPS是计算机性能衡量的两个可靠指标。
26.()程序的空间局部性指程序即将用到的信息很可能就是目前正在使用的信息。
27.()响应时间必须通过运行“真实程序”获得。
28.()基准程序能够完全预测一个程序在计算机上的运行性能。
29.()DLX流水线中,所有数据相关都可以通过定向技术解决。
30.()强制性失效和容量失效也受相联度的影响。
31.()伪相联cache具有快速命中与慢速命中两种命中时间。
32.()Cache命中时间往往会直接影响到处理器的时钟频率。
33.()Cache失效中必定包含强制性失效。
34.()根据Moore定律,DRAM的周期时间是每三年降低四倍。
35.()RISC结构的机器性能一定要比CISC结构的机器性能高。
36.()Amdahl定律揭示的性能递减规则说明如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的效果越小。
37.()程序在向量计算机上运行,不会出现数据相关和结构相关。
38.()随着时间的推移,计算机系统的成本会逐渐降低。
39.()在DLX流水线中,可以在ID段检测所有数据相关。
40.()容量失效却随着容量的增加而增加。
41.()预取必须和正常访存操作并行才有意义。
42.()采用容量小、结构简单的Cache会减小cache的命中时间。
43.()Cache失效中必定包含容量失效。
44.()MIPS是测量计算机性能的一致性指标。
45.()平均每条指令的执行周期数(CPI)与程序无关。
46.()Amdahl定律中“可改进比例”指可改进部分在改进系统计算时间中所占的比例。
47.()通过操作系统的多进程技术可以完全回避I/O处理时间的问题。
因为当一个进程在等待I/O处理的时候,另外的一些进程可以在CPU上运行。
48.()MIPS和MFLOPS都可以用来准确地评价计算机系统的性能。
49.()编译器可以通过重新排列代码的顺序来消除相关引起的暂停。
50.()2:
1的Cache经验规则说明容量为N的直接映象Cache的失效率约等于大小为N/2的两路组相联Cache的失效率。
51.()预取必须和正常指令的执行并行才有意义。
52.()Cache失效中必定包含冲突失效。
53.()写操作流水化会减小cache的命中时间。
54.()在计算机性能测量中,调和平均的含义是单位时间机器能够执行的程序数。
55.()CPU性能公式中指令条数(IC)与指令集格式和编译器有关。
56.()Amdahl定律中“部件加速比”指可改进部分改进以后性能的提高。
57.()在Cache中,只要增加块容量,一定可以减小失效率。
58.()现代CPU中已经没有堆栈型和累加器型的指令集结构。
59.()向量处理机用每秒取得多少浮点运算结果来衡量机器速度,以MFLOPS作为测量单位。
60.()一些降低失效率的方法会增加命中时间或失效开销。
61.()数据对存储位置的限制比指令的少,因此更便于编译器优化。
62.()组相联或直接映象Cache中才可能存在冲突失效。
63.()素数模法是避免存储体冲突的一种方法。
64.()根据Moore定律,DRAM的周期时间是每三年降低四倍。
65.()RISC结构的机器性能一定要比CISC结构的机器性能高。
66.()Amdahl定律揭示的性能递减规则说明如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的效果越小。
67.()程序在向量计算机上运行,不会出现数据相关和结构相关。
68.()随着时间的推移,计算机系统的成本会逐渐降低。
69.()在DLX流水线中,可以在ID段检测所有数据相关。
70.()容量失效却随着容量的增加而增加。
71.()预取必须和正常访存操作并行才有意义。
72.()采用容量小、结构简单的Cache会减小cache的命中时间。
73.()Cache失效中必定包含容量失效。
简答题
74.计算机系统结构的Flynn分类法是按什么来分类的?
共分为哪几类?
答:
Flynn分类法是按照指令流和数据流的多倍性进行分类。
把计算机系统的结构分为:
(1) 单指令流单数据流SISD
(2) 单指令流多数据流SIMD (3) 多指令流单数据流MISD (4) 多指令流多数据流MIMD
75.区别不同指令集结构的主要因素是什么?
根据这个主要因素可将指令集结构分为哪3类?
答:
区别不同指令集结构的主要因素是CPU中用来存储操作数的存储单元。
据此可将指令系统结构分为堆栈结构、累加器结构和通用寄存器结构。
76.简述流水线技术的特点。
答:
流水技术有以下特点:
(1) 流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。
因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。
(2) 流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。
(3) 流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。
(4) 流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。
(5) 流水线需要有通过时间和排空时间。
在这两个时间段中,流水线都不是满负荷工作。
77.地址映象方法有哪几种?
它们各有什么优缺点?
答:
(1) 全相联映象
实现查找的机制复杂,代价高,速度慢。
Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。
(2) 直接映象
实现查找的机制简单,速度快。
Cache空间的利用率较低,块冲突概率较高,因而Cache的失效率也高。
(3) 组相联映象
组相联是直接映象和全相联的一种折衷
78.同步总线和异步总线各有什么优缺点?
答:
同步总线上所有设备通过统一的总线时钟进行同步。
同步总线成本低,因为它不需要设备之间相互确定时序的逻辑。
但是同步总线也有缺点,总线操作必须以相同的速度运行。
由于各种设备都要精确地以公共时钟为定时参考,因此在时钟频率很高时容易产生时钟相对漂移错误。
3分
异步总线上的设备之间没有统一的时钟,设备自己内部定时。
设备之间的信息传送用总线发送器和接收器控制。
异步总线容易适应更广泛的设备类型,扩充总线时不用担心时钟时序和时钟同步问题。
但在传输时,异步总线需要额外的同步开销
79.计算机系统设计中经常使用的4个定量原理是什么?
并说出它们的含义。
答:
(1)以经常性事件为重点。
在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。
(2)Amdahl定律。
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
(3)CPU性能公式。
执行一个程序所需的CPU时间 = IC ×CPI ×时钟周期时间。
(4)程序的局部性原理。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚
80.指令集应满足哪几个基本要求?
答:
对指令集的基本要求是:
完整性、规整性、高效率和兼容性。
完整性是指在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令足够使用。
规整性主要包括对称性和均匀性。
对称性是指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。
均匀性是指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。
高效率是指指令的执行速度快、使用频度高。
81.简述先行控制的基本思想。
答:
先行控制技术是把缓冲技术和预处理技术相结合。
缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。
预处理技术是指预取指令、对指令进行加工以及预取操作数等。
采用先行控制方式的处理机内部设置多个缓冲站,用于平滑主存、指令分析部件、运算器三者之间的工作。
这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件和运算器分别能快速地取得指令和操作数,大幅度地提高指令的执行速度和部件的效率。
这些缓冲站都按先进先出的方式工作,而且都是由一组若干个能快速访问的存储单元和相关的控制逻辑组成。
采用先行控制技术可以实现多条指令的重叠解释执行。
82.简述减小Cache失效开销的几种方法。
答:
让读失效优先于写、写缓冲合并、请求字处理技术、非阻塞Cache或非锁定Cache技术、采用二级Cache。
83.简述通道完成一次数据传输的主要过程。
答:
(1)在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。
(2) 通道处理机执行CPU为它组织的通道程序,完成指定的数据I/O工作。
(3) 通道程序结束后向CPU发中断请求。
CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对I/O中断请求进行处理。
84.简述CISC指令集结构功能设计的主要目标。
从当前的计算机技术观点来看,CISC指令集结构的计算机有什么缺点?
答:
主要目标是增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。
缺点:
(1) CISC结构的指令集中,各种指令的使用频率相差悬殊。
(2)CISC结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构指令集的复杂性给VLSI设计增加了很大负担,不利于单片集成。
(4)CISC结构的指令集中,许多复杂指令需要很复杂的操作,因而运行速度慢。
(5) 在CISC结构的指令集中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。
85.减少流水线分支延迟的静态方法有哪些?
答:
(1)预测分支失败:
沿失败的分支继续处理指令,就好象什么都没发生似的。
当确定分支是失败时,说明预测正确,流水线正常流动;当确定分支是成功时,流水线就把在分支指令之后取出的指令转化为空操作,并按分支目标地址重新取指令执行。
(2)预测分支成功:
当流水线ID段检测到分支指令后,一旦计算出了分支目标地址,就开始从该目标地址取指令执行。
(3)延迟分支:
主要思想是从逻辑上“延长”分支指令的执行时间。
把延迟分支看成是由原来的分支指令和若干个延迟槽构成。
不管分支是否成功,都要按顺序执行延迟槽中的指令。
3种方法的共同特点:
它们对分支的处理方法在程序的执行过程中始终是不变的。
它们要么总是预测分支成功,要么总是预测分支失败。
86.简述Tomasulo算法的基本思想。
答:
Tomasulo算法的基本思想是只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。
指令的执行结果也是直接送到等待数据的其他保留站中去。
因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。
一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号)。
指令流出逻辑和保留站相结合实现寄存器换名,从而完全消除了数据写后写和先读后写相关这类名相关。
87.通过编译器对程序优化来改进Cache性能的方法有哪几种?
简述其基本思想。
答:
(1)数组合并。
通过提高空间局部性来减少失效次数。
有些程序同时用相同的索引来访问若干个数组的同一维,这些访问可能会相互干扰,导致冲突失效,可以将这些相互独立的数组合并成一个复合数组,使得一个Cache块中能包含全部所需元素。
(2)内外循环交换。
循环嵌套时,程序没有按数据在存储器中的顺序访问。
只要简单地交换内外循环,就能使程序按数据在存储器中的存储顺序进行访问。
(3)循环融合。
有些程序含有几部分独立的程序段,它们用相同的循环访问同样的数组,对相同的数据作不同的运算。
通过将它们融合成一个单一循环,能使读入Cache的数据被替换出去之前得到反复的使用。
(4)分块。
通过改进时间局部性来减少失效。
分块不是对数组的整行或整列进行访问,而是对子矩阵或块进行操作。
分析说明题
88.指令的执行可采用顺序执行、重叠执行和流水线三种方式,是分析说明它们的主要区别及优缺点。
答:
(1)指令的顺序执行是指指令与指令之间顺序串行。
即上一条指令全部执行完后,才能开始执行下一条指令。
优点:
控制简单,节省设备。
缺点:
执行指令的速度慢,功能部件的利用率低。
(2)指令的重叠指令是在相邻的指令之间,让第k条指令与取第k+l条指令同时进行。
重叠执行不能加快单条指令的执行速度,但在硬件增加不多的情况下,可以加快相邻两条指令以及整段程序的执行速度。
与顺序方式相比,功能部件的利用率提高了,控制变复杂了。
(3)指令的流水执行是把一个指令的执行过程分解为若干个子过程,每个子过程由专门的功能部件来实现。
把多个处理过程在时间上错开,依次通过各功能段,每个子过程与其它的子过程并行进行。
依靠提高吞吐率来提高系统性能。
流水线中各段的时间应尽可能相等
89.分别从执行程序的角度和处理数据的角度来说明计算机系统中并行性等级从低到高可分为哪几级?
答:
答:
从处理数据的角度来看,并行性等级从低到高可分为:
(1)字串位串:
每次只对一个字的一位进行处理。
这是最基本的串行处理方式,不存在并行性;
(2)字串位并:
同时对一个字的全部位进行处理,不同字之间是串行的。
已开始出现并行性;
(3)字并位串:
同时对许多字的同一位(称为位片)进行处理。
这种方式具有较高的并行性;
(4)全并行:
同时对许多字的全部位或部分位进行处理。
这是最高一级的并行。
从执行程序的角度来看,并行性等级从低到高可分为:
(1)指令内部并行:
单条指令中各微操作之间的并行;
(2)指令级并行:
并行执行两条或两条以上的指令;
(3)线程级并行:
并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位;
(4)任务级或过程级并行:
并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元;
(5)作业或程序级并行:
并行执行两个或两个以上的作业或程序。
90.试说明存储层次设计要解决的四个问题。
答:
映像规则、查找算法、替换算法、写策略
91.试说明计算机系统结构、计算机组成与计算机实现之间的相互关系。
答:
计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。
(1)计算机的系统结构相同,但可采用不同的组成。
如IBM370系列有115、125、135、158、168等高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理存,通道、设备控制器,外设4级构成。
其中,中央处理机都有相同的机器指令和汇编指令系统,只的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
(2)相同的组成可有多种不同的实现。
如主存器件可用双极型的,也可用MOS型的;可用VLSI单片多片小规模集成电路组搭。
(3)计算机的系统结构不同,会使采用的组成技术不同,反之组成也会影响结构。
如为实现A:
=B+可采用面向寄存器的系统结构,也可采用面向主存的三地址寻址方式的系统结构。
要提高运行速度加与相乘并行,为此这两种结构在组成上都要求设置独立的加法器和乘法器。
但对面向寄存器的系要求寄存器能同时被访问,而对面向主存的三地址寻址方式的系统结构并无此要求,倒是要求能同个访存操作数地址和能同时访存。
计算题
92.某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:
指令类型
指令执行数量
平均时钟周期数
整数
45000
1
数据传送
75000
2
浮点
8000
4
分支
1500
2
求该计算机的有效CPI、MIPS和程序执行时间。
解:
(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776
(2)MIPS速率=f/ CPI =400/1.776 =225.225MIPS
(3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575us
93.计算机系统中有三个部件可以改进,这三个部件的部件加速比为:
部件加速比1=30;部件加速比2=20;部件加速比3=10
(1)如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?
(2)如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?
94.动态多功能流水线由6个功能段组成,如下图:
其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:
(1)画出时空图;
(2)计算实际的吞吐率、加速比和效率。
95.假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。
具体数据如下表所示:
操作类型
程序中的数量
(百万条指令)
改进前的执行时间
(周期)
改进后的执行时间
(周期)
操作1
10
2
1
操作2
30
20
15
操作3
35
10
3
操作4
15
4
1
(1)改进后,各类操作的加速比分别是多少?
(2)各类操作单独改进后,程序获得的加速比分别是多少?
(3)4类操作均改进后,整个程序的加速比是多少?