计算机体系结构试题库简答题.docx
《计算机体系结构试题库简答题.docx》由会员分享,可在线阅读,更多相关《计算机体系结构试题库简答题.docx(20页珍藏版)》请在冰豆网上搜索。
![计算机体系结构试题库简答题.docx](https://file1.bdocx.com/fileroot1/2022-11/25/6eeac3e4-310c-4f49-b816-6d3364642f50/6eeac3e4-310c-4f49-b816-6d3364642f501.gif)
计算机体系结构试题库简答题
计算机体系结构试题库
简答题(100题)
1.简述CISC结构计算机的缺点。
答:
●在CISC结构的指令系统中,各种指令的使用频率相差悬殊。
据统计,有20%的指令使用频率最大,占运行时间的80%。
也就是说,有80%的指令在20%的运行时间内才会用到。
●CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
●CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。
●CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
●在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。
2.RISC结构计算机的设计原则。
答:
A.选取使用频率最高的指令,并补充一些最有用的指令;
B.每条指令的功能应尽可能简单,并在一个机器周期内完成;
C.所有指令长度均相同;
D.只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行;
E.以简单有效的方式支持高级语言。
3.影响现代微处理器主频提升的主要原因由哪些?
答:
线延迟、功耗。
4.指令集格式设计时,有哪三种设计方法?
答:
固定长度编码、可变长编和混合编码)三种设计方法。
5.简述存储程序计算机(冯·诺依曼结构)的特点。
答:
(1)机器以运算器为中心。
(2)采用存储程序原理。
(3)存储器是按地址访问的、线性编址的空间。
(4)控制流由指令流产生。
(5)指令由操作码和地址码组成。
(6)数据以二进制编码表示,采用二进制运算。
6.在进行计算机系统设计时,一个设计者应该考虑哪些因素对设计的影响?
答:
在进行计算机系统设计时,设计者应该考虑到如下三个方面因素的影响:
●技术的发展趋势;
●计算机使用的发展趋势;
●计算机价格的发展趋势。
7.简述程序翻译技术的特点。
答:
翻译技术是先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。
8.简述程序解释技术的特点。
答:
解释技术是每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。
9.经典体系结构的定义是什么?
计算机体系结构是机器级程序员所看到的计算机的属性,即概念性结构与功能特性。
10.“线延迟墙”指的是什么?
随着集成电路工艺的进步,芯片内晶体管大小不断变小,其逻辑门延迟也随之减小,而走线延迟所占的比重也随之越来越大,导致电路频率不能随着工艺的减小而线性减小。
11.Moore定律阐述的是什么?
微处理器晶体管数目每18个月翻一倍。
它揭示了集成电路工艺发展的规律。
12.解释响应时间和吞吐率的差别。
响应时间也称执行时间,是指从事件开始到结束之间的时间。
吞吐率(Throughput)指在单位时间内所能完成的工作量(任务)。
用户以响应时间为标准,多道程序系统以吞吐率为标准。
13.简述程序的时间局部性原理的含义。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚包括指令和数据两部分。
程序局部性包括:
程序的时间局部性:
程序即将用到的信息很可能就是目前正在使用的信息。
14.简述程序的空间局部性原理的含义。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚包括指令和数据两部分。
程序局部性包括:
程序的空间局部性:
程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。
15.在指令集结构设计中,应该考虑哪些主要问题,这些问题有哪些主要的设计选择?
答:
在进行指令机结构设计中,应该考虑如下主要问题:
●指令集功能设计:
主要有RISC和CISC两种技术发展方向;
●寻址方式的设计:
设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;
●操作数表示和操作数类型:
主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
●寻址方式的表示:
可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
●指令集格式的设计:
有固定长度编码方式、可变长编码方式和混合编码方式三种选择。
16.程序控制指令有什么功能?
答:
具有测试、分析、判断能力,控制程序的运行顺序和方向。
17.程序控制指令主要包括哪些指令?
答:
有转移指令、循环控制、子程序、过程调用等。
18.请简述指令集结构设计中寻址方式设计的一般方法。
答:
在寻址方式设计时,首先对一些典型的基准程序进行分析,统计基准程序中使用各种寻址方式的频率,然后根据所要设计的计算机系统所面向的应用领域,确定选择哪些使用频率高的寻址方式予以支持。
对于一些特殊的寻址方式(如偏移寻址等),偏移量的确定也必须应用同样的方法加以确定。
19.表示寻址方式的主要方法有哪些?
答:
表示寻址方式有两种常用的方法:
一种是将寻址方式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址方式;另一种是为每个操作数设置一个地址描述苻,由该地址描述抚表示相应操作数的寻址方式。
20.简述表示寻址方式的两种方法的优缺点。
答:
将寻址方式编于操作码中的方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了CPU对指令译码的难度。
为每个操作数设置一个地址描述苻的方式译码较慢,但操作码和寻址独立,易于指令扩展。
21.简述流水线的特点。
(1)流水过程由多个相联系的子过程组成。
(2)每个子过程由专用的功能段实现。
(3)各个功能段所需时间尽量相等。
(4)流水线有“通过时间”(第一个任务流出结果所需的时间)。
在此之后流水过程才进入稳定工作状态,一拍流出一个结果。
(5)流水技术适合于大量重复的时序过程,只有输入端连续提供任务,流水线效率才可充分发挥。
22.在流水线中解决数据相关的技术有哪些?
答:
(1)定向技术;
(2)暂停技术;
(3)采用编译器调度。
23.DLX流水线分为哪几个功能段?
答:
取指、译码、执行、访存、写回五个操作功能段。
24.在基本DLX流水线基础上,避免控制相关的方法有哪些?
答:
(1)改进硬件功能,把分支目标地址和条件的计算移到译码段进行;
(2)采用预测分支失败机制
(3)采用延迟分支机制。
25.评述解决数据相关的技术在DLX流水线的应用。
答:
在DLX中,由于ALU和数据存储器都要接受操作数,设置从寄存器文件EX/MEM和MEM/WB到这两个单元输入的定向路径,还有DLX的零监测单元在EX周期完成分支条件检测操作,也设置到该单元的定向路径,减少了数据相关带来的暂停;但并不是所有数据相关带来的暂停都可通过定向技术来消除,采用暂停技术,设置一个“流水线互锁”的功能部件,一旦流水线互锁检测到数据相关,流水线暂停执行发生数据相关指令后续的所有指令,直到该数据相关解决为止。
利用编译器技术,重新组织代码顺序也可消除数据相关带来的必然暂停。
26.在存储器层次结构设计中,论述首先要解决的四个问题及其含义。
答:
A、块的放置策略:
块如何放置在存储器层次中?
B、块的替换策略:
一次失效时,如何替换一个块?
C、块的标识策略:
一个块在存储器层次中如何找到它?
D、写的策略:
写的时候将会发生什么?
27.降低Cache命中时间的措施有哪些?
答:
容量小、结构简单的Cache;将写操作流水化以加快写命中
28.降低Cache失效率的措施有哪些?
答:
A、增加Cache块大小
B、提高相联度
C、采用VictimCache
D、采用伪相联Cache(列相联)
E、采用硬件预取技术
F、由编译器控制的预取
G、编译器优化
29.降低Cache失效损失的措施有哪些?
答:
A、读失效优先于写;
B、采用子块放置策略;
C、早期启动和关键字优先;
D、在Cache失效时,利用非阻塞Cache减少暂停;
E、采用二级Cache。
5、在单机系统中保持Cache一致性的措施有哪些?
答:
采用写穿透策略和写回策略可以在单机系统中保持Cache一致性。
30.全相联和直接映象相比,各有何优缺点?
答:
全相联映象的特点:
利用率最高,冲突概率最低,实现最复杂。
直接映象的特点:
利用率最低,冲突概率最高,实现最简单。
31.简述“Cache-主存”层次和“主存-辅存”层次的区别。
答:
“Cache-主存”层次和“主存-辅存”层次的区别见下表
比较项目
“Cache-主存”层次
“主存-辅存”层次
目的
为了弥补主存速度上的不足
为了弥补主存容量的不足
存储管理实现
主要由专用硬件实现
主要由软件实现
访问速度的比值
(第一级比第二级)
几比一
几万比一
典型的块(页)大小
几十个字节
几百到几千个字节
CPU对第二级的访问方式
可直接访问
均通过第一级
失效时CPU是否切换
不切换
切换到其它进程
32.根据下图中的编号,说明虚拟地址如何经过TLB转换成物理地址。
答:
首先以CPU给出的地址中的高30位为虚拟也好,将其和TLB中的32个页表项的Tag相比较,同时检查访问的合法性(由TLB中页表项的高5位确定)。
如果某一页表项的Tag预虚拟也好相同,且访问合法,那么由32:
1多路选择器读出该页表项的低21位,这21位就是所访问页的真实物理地址的高21位,最后将其和页偏移量合并成34位物理地址。
33.虚拟存储器中,为帮助操作系统保护进程不被其他进程破坏,简要说明计算机硬件要完成哪三项工作?
答:
主要完成如下三项工作:
●提供至少两种模式,用于区分正在运行的进程是用户进程还是操作系统进程。
有时称后者为内核(kernel)进程、超级用户(supervisor)进程或管理(executive)进程。
●使CPU状态的一部分成为用户进程可读但不可写的。
这包括基地址/上界地址寄存器、用户/管理模式位和异常许可/禁止位。
用户进程无权修改这些状态,因为如果用户进程能改变地址范围检查、赋给自己管理特权或禁止异常出现,操作系统就无法控制它们了。
●提供一种机制,使得CPU能从用户模式进入管理模式和从管理模式进入用户模式。
前一种模式变换一般是通过系统调用(systemcall)来完成。
系统调用由一条特殊指令实现,该指令将控制权传送到管理程序空间中一个特定位置。
系统调用点处的PC值会被保存起来,CPU状态将被置为管理模式。
调用结束后返回用户模式很像从子程序返回,它将恢复原先的用户/管理模式。
34.根据下图,说明分离处理总线工作过程。
答:
首先某一设备发出读请求,并将地址1提交给总线之后,不再占用总线,这时其它总线主设备也可发出读请求,并将地址信号提交给总线(地址2、地址3)。
总线根据所接受的地址进行存储器访问,读出数据,将数据信息放在地址总线上。
第一个总线主设备法出第之后,不断“侦听”总线,如果总线上不是其所请求读出的数据,那么该总线主设备必须等待(等待1),只有当总线上出现了该总线主设备所请求读出的数据后(数据1),那么该总线主设备取回数据,完成总线访问(完成1)。
由此可以看出,在有多个主设备时,总线就可以通过数据打包来提高总线带宽,这样可以不必在整个传输过程中都占有总线,这种技术叫做“分离处理(splittransaction)”或者“流水处理”或者“包开关总线”等。
值得注意的是:
读操作分为两部分,一个是包含地址的读请求和一个包含数据的存储器应答,每个操作必须标记清楚,以便CPU和存储器可以识别它们。
当从所请求存储器地址处读一个字的时候,分离处理允许其它总线主设备使用总线,因此,CPU必须能够识别总线上发来的数据,存储器必须识别总线上返回的数据。
分离处理总线有较高的带宽,但是它的数据传送延迟比独占总线方法要大。
35.请叙述设计一个I/O子系统的步骤。
答:
A、列出将要链接到计算机的I/O设备的类型,或者列出机器将要支持的标准总线。
B、列出每种I/O设备的物理要求,包括:
容量、电源、连接器、总线槽、扩展机箱等等。
C、列出每种I/O设备的开销,包括设备所需要的控制器的开销。
D、记录每种I/O设备对CPU资源的要求。
E、列出每种I/O设备对存储器和总线资源的要求。
F、按照不同的方法组织I/O设备,并计算其性能和开销。
36.在有Cache的计算机系统中,进行I/O操作时,会产生哪些数据不一致问题?
如何克服?
答:
(1)存储器中可能不是CPU产生的最新数据,所以I/O系统从存储器中取出来的是陈旧数据。
(2)I/O系统与存储器交换数据之后,在Cache中,被CPU使用的可能就会是陈旧数据。
第一个问题可以用写直达Cache解决。
第二个问题操作系统可以保证I/O操作的数据不在cache中。
如果不能,就作废Cache中相应的数据。
37.简述“虚拟索引+物理标识”Cache的优缺点。
答:
优点是既能够得到虚拟Cache的好处,又能够得到物理Cache的优点。
缺点是直接映象Cache的容量不能够超过页的大小。
38.基本DLX流水线中四个多路选择器的控制端由哪些信息决定?
答:
ALU输入端的两个MUX由ID/EX.IR所指出的指令类型控制,IF段的MUX由EX/MEM.Cond域的值控制,WB段的MUX由当前指令类型(Load/ALU)控制。
39.基本DLX流水线中,IF与Mem两个阶段都要访问存储器,怎样避免访存冲突?
答:
把指令存储器和数据存储器分开,使每个存储器具有独立的读写端口。
40.ID和WB两个阶段都要访问寄存器,是否存在冲突?
怎样避免?
答:
可能存在RAW冲突,通过使寄存器文件支持“前半周期写后半周期读”来避免。
41.何为流水线效率?
为何流水线效率不能达到1?
答:
效率指流水线的设备利用率。
由于流水线有通过时间和排空时间,所以流水线的各段并非一直满负荷工作,所以效率是小于1的数。
42.说明流水线吞吐率、加速比和效率的关系。
答:
三个指标是衡量流水线性能的三种度量,
效率E=n△t/T流水=mn△t/(T流水m)=S/m,效率是实际加速比S与最大加速比m之比。
效率E=n△t/T流水=(n/T流水)·△t=TP△t,当△t不变时,流水线的效率与吞吐率呈正比。
43.解释何为流水线中的定向(forwarding)技术?
答:
定向技术是指流水线中将计算结果从其产生的地方直接送到真正需要它的地方,而不是从寄存器文件读出使用,它是一种解决数据相关,避免流水线暂停的方法。
44.解释写后读相关及其在DLX中发生的情况。
答:
两条指令i和j,都会访问同一寄存器R,假设指令i在指令j之前,指令i先写寄存器R而指令j后读寄存器R,称两条指令存在写后读相关。
流水线中如果j在i完成写之前从R中读出数据,将得到错误的结果。
DLX中由于在ID段读寄存器而在WB段写寄存器,所以写后读相关可能引起执行错误或流水线暂停。
45.解释写后写相关及其在DLX中发生的情况。
答:
两条指令i和j,都会访问同一寄存器R,假设指令i在指令j之前,指令i先写寄存器R而指令j后写寄存器R,称两条指令存在写后写相关。
如果j在i之前完成写操作,R中将保存错误的结果。
DLX中由于只在WB段这唯一的一段写寄存器,所以前后指令的写后写相关不会发生执行错误。
46.解释读后写相关及其在DLX中发生的情况。
答:
两条指令i和j,都会访问同一寄存器R,假设指令i在指令j之前,指令i先读寄存器R而指令j后写寄存器R,称两条指令存在读后写相关。
流水线中如果j在i完成读之前向R中写入数据,将写入错误的结果。
DLX中由于在ID段读寄存器而在WB段写寄存器,ID段在WB段之前,所以前后指令的读后写相关不会发生执行错误。
47.画出DLX的所有定向通路。
答:
48.简述减少流水线分支损失四种方法
答:
(1)冻结或排空流水线:
在流水线中停住或删除分支后的指令,直到知道转移目标地址
(2)预测分支转移失败:
流水线继续照常流动,如果分支转移成功,将分支指令后的指令转换为空操作,并从分支目标处开始取指令执行;否则照常执行
(3)预测分支转移成功:
始终假设分支成功,直接从分支目标处取指令执行
(4)延迟分支(delayedbranch):
分支开销为n的分支指令后紧跟有n个延迟槽,流水线遇到分支指令时,按正常方式处理,顺带执行延迟槽中的指令,从而减少分支开销。
49.简述延迟分支“从前调度”方法的调度要求和作用前提。
答:
要求被调度的指令必须与分支结果无关,任何情况都能起作用。
50.简述延迟分支“从目标处调度”方法的调度要求和作用前提。
答:
要求被调度的指令必须保证在分支失败时执行被调度的指令不会导致错误,可能需要复制指令。
该方法在分支成功时起作用。
51.简述延迟分支“从失败处调度”方法的调度要求和作用前提。
答:
要求被调度的指令必须保证在分支成功时执行被调度的指令不会导致错误。
该方法在分支失败时起作用。
52.解释向量链接技术。
答:
一个向量功能部件得到的结果直接送入另一个向量功能部件的操作数寄存器时所发生的连接过程称为链接。
当两条指令出现“写后读”相关时,若它们不存在功能部件冲突和向量寄存器(源或目的)冲突,就有可能把它们所用的功能部件头尾相接,形成一个链接流水线,进行流水处理。
链接特性实质上是把流水线“定向”的思想引入到向量执行过程的结果。
53.存储器的三个主要指标:
容量、速度、每位价格的关系怎样?
答:
容量越大价格越低,速度越快价格越高,容量越大速度越慢。
54.存储层次的平均访问时间TA怎样计算?
答:
TA=TA1+(1-H)TM或TA=TA1+FTM,H为命中率,F为失效率,TA1为高一级存储层次的访问时间,TM为失效开销。
55.比较“Cache-主存”层次和“主存-辅存”层次的异同。
56.存储层次设计要解决的四个问题指什么?
答:
映象规则:
当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?
查找算法:
当所要访问的块在高一层存储器中时,如何找到该块?
替换算法:
当发生失效时,应替换哪一块?
写策略:
当进行写访问时,应进行哪些操作?
57.说明cache并行查找与顺序查找的优缺点?
答:
并行查找速度快,但硬件代价大,顺序查找速度慢,通常采用MRU策略提高速度,硬件代价相对小。
58.说明Cache并行查找的两种实现方法。
答:
方法一:
利用相联存储器,速度较快,逻辑控制简单,但需特殊器件支持。
方法二:
利用单体多字存储器+比较器,速度相对较慢,可利用一般SRAM等实现。
59.简述三种替换算法及其优缺点。
答:
随机法:
实现简单
FIFO法:
实现较为简单,失效率与程序访问特性有关。
LRU法:
失效率低。
60.简述cache的两种写策略及其优缺点。
答:
写直达法:
执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。
写回法:
执行“写”操作时,只写入Cache。
仅当Cache中相应的块被替换时,才写回主存。
需设置“污染位”来记录数据块是否被更新。
写回法速度快,所使用的存储器频带较低;写直达法易于实现,一致性好。
61.简述cache的两种写调块策略。
按写分配(写时取):
写失效时,先把所写单元所在的块调入Cache,再行写入。
不按写分配(绕写法):
写失效时,直接写入下一级存储器而不调块。
62.什么是写合并技术?
当把数据写入写缓冲器时,判断本次所写入单元的块地址是否与写缓冲器中某个有效块的地址相同,若是,则把新数据与该块合并。
这样可提高写缓冲的利用率。
63.解释Victimcache的基本思想。
答:
在Cache和它从下一级存储器调数据的通路之间设置一个全相联的小Cache,用于存放被替换出去的块,以备重用。
这些被保存的替换块被称为Victim块,存放这些块的缓冲称为Victimcache。
Victimcache对于减小冲突失效很有效,特别是对于小容量的直接映象数据Cache,作用尤其明显。
64.解释伪相联cache的工作原理。
答:
在逻辑上把直接映象Cache的空间上下平分为两个区。
对于任何一次访问,伪相联Cache先按直接映象Cache的方式去处理。
若命中,则其访问过程与直接映象Cache的情况一样。
若不命中,则再到另一区相应的位置去查找。
若找到,则发生了伪命中,否则就只好访问下一级存储器。
65.简述通过编译优化降低cache失效率的基本思想。
答:
在编译时,对程序中的指令和数据进行重新组织,是连续访问的指令或数据能够具有根号的时间和空间局部性,以降低Cache失效率。
66.Cache中的写缓冲器导致对存储器访问的复杂化,在处理读失效时,针对这个问题的解决方法是什么?
答:
推迟对读失效的处理;检查写缓冲器中的内容。
67.简述在cache失效率的策略中,编译优化分块策略的基本思想。
答:
编译器把对数组的整行或整列访问改为按块进行,使得块内的访问具有较好的局部性,从而降低失效率。
68.解释子块放置技术。
答:
把Cache块进一步划分为更小的块(子块),并给每个子块赋予一位有效位,用于指明该子块中的数据是否有效。
Cache与下一级存储器之间以子块为单位传送数据。
但标识仍以块为单位。
69.解释局部失效率与全局失效率。
答:
局部失效率=该级Cache的失效次数/到达该级Cache的访问次数,
全局失效率=该级Cache的失效次数/CPU发出的访存的总次数。
70.解决虚拟Cache的清空问题的方法是什么?
答:
在地址标识中增加PID字段(进程标识符)
71.“虚拟索引+物理标识”的优缺点是什么?
答:
优点:
兼得虚拟Cache和物理Cache的好处。
局限性:
Cache容量受到限制(页内位移),Cache容量≤页大小×相联度。
72.从主存的角度讲,减少cache失效开销的方法是什么?
答:
减少主存延迟,提高主存带宽。
73.简述提高主存性能的四种方法。
答:
增加存储器的宽度;采用简单的多体交叉存储器;采用独立存储体;避免存储体冲突。
74.简述虚拟存储器的特点。
答:
多个进程可以共享主存空间;程序员不必做存储管理工作;采用动态再定位,简化了程序的装入。
75.什么是TLB?
答:
TLB是一个专用的高速缓冲器,用于存放近期经常使用的页表项。
76.简述蓄存系统中采用大页面和小页面各自的优点。
答:
大页面的优点:
页表的大小与页面大小成反比。
较大的页面可以节省实现地址映象所需的存储空间及其它资源;较大的页面可以使快速Cache命中的实现更简单;在主存和辅存之间传送较大页面比传送较小的页面更有效。
TLB的项数有限,对于给定数目的项数,较大的页面意味着可以高效地实现更多存储空间的地址变换,从而减小TLB失效的次数。
小页面的优点:
可以减少空间的浪费。
77.简述RAID1的优缺点。
答:
优点:
系统可靠性好;设计简单。
缺点:
硬件开销大;效率低。
78.简述RAID5的特点。
答:
块交叉分布式奇偶校验盘阵列,即数据以块交叉的方式存于各盘,但无专用的校验盘,而是把冗余的奇偶校验