北京科技大学计算机体系结构总复习汇总无重复带计算样本Word文件下载.docx
《北京科技大学计算机体系结构总复习汇总无重复带计算样本Word文件下载.docx》由会员分享,可在线阅读,更多相关《北京科技大学计算机体系结构总复习汇总无重复带计算样本Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
(2)指令j与指令k数据有关,而指令k又与指令i数据有关。
19、失效开销:
CPU向第二级存储器发出访问祈求到把这个数据块调入第一级存储器所需时间。
20、容量失效:
如果程序执行时所需块不能所有调入Cache中,则当某些块被替代后,若又重新被访问,就会发生失效。
这种失效称为容量失效。
21、通道:
①传播信息数据通路。
②计算机系统中传送信息和数据装置。
22、指令级并行:
并行执行两条或两条以上指令。
二、填空题:
1、Cache失效可以分为(强制失效)、(冲突失效)和(容量失效)三种。
2、说出三种对计算机发展非常核心实现技术:
(逻辑电路)、(磁盘)和(网络)。
3、2:
1Cache经验规则是指大小为N(直接映象)Cache失效率约等于大小为N/2(两路组相联)Cache失效率。
4、单机和多机系统中并行性发展技术途径有:
(时间重叠)、(资源重复)、(资源共享)。
5、通道分为(字节多路)通道、(选取)通道和(数组多路)通道三种类型
6、流水线中有关有(名)有关、(数据)有关和(控制)有关三种。
7、在解决机中,若指令序列完毕顺序总是与它们开始执行顺序保持一致,则只也许浮现(名)有关,否则就有也许浮现(名有关)、(数据有关)和(控制)有关。
8、输入/输出系统涉及(外部设备(I/O设备,辅助存储器))和(其与主机之间控制某些)
9、设计I/O系统三个原则是(成本)、(性能)和(容量)。
10、存储器层次构造设计技术基本根据是程序(访问局部性原理)。
11、相联度越高,(冲突)失效就越少;
(强制性)失效不受Cache容量影响,但(容量)失效却随着容量增长而减少。
12、在虚拟存储器中,普通采用(全相连)地址映象办法和(LRU)更新方略。
13、计算机系统中提高并行性技术途径有(时间重叠)、(资源重复)、(资源共享)三种。
在高性能单解决机发展中,起主导作用是(时间重叠原理)。
14、对向量解决有(水平解决)方式、(垂直解决)方式和(分组解决)方式。
15、同构型多解决机和异构型多解决机所采用提高并行性技术途径分别是(时间重叠)和(资源重复)。
16、地址映象办法有(全相联)、(组相联)和(直接相联)三种,其中(全相联)冲突率最低。
17、软件兼容有(向上兼容)、(向下兼容)、(向前兼容)和(向后兼容)四种。
其中(向后兼容)是软件兼容主线特性。
18、流水线数据有关(冲突)有三种,分别是:
(写后读有关(WAR))、(读后写有关(RAW))和(写后写有关(WAW))。
19、从解决数据角度,并行性级别可以分为字串位串、(字串位并)、(字并位串)和全并行。
20、从执行程序角度看,并行性级别可以分为:
(指令内部并行)、(指令级并行)、(线程级并行)、(任务级或过程级并行)和作业或程序级并行。
21、在存储层次中,惯用替代算法有(随机法)、(FIFO)和(LRU)。
22、设有一种“Cache-主存”层次,Cache为4块,主存为8块;
试分别对于如下2种状况,计算访存块地址为5时索引(index)。
(1)组相联,每组两块;
索引为
(1)。
5%2=1
(2)直接映象;
5%4
23、依照CPU内部存储单元类型,可将指令集构造分为(堆栈)型指令集构造、(累加器)型指令集构造和(通用寄存器)型指令集构造。
三、简答题
1、简述使用物理地址进行DMA存在问题,及其解决办法。
1)对于超过一页数据缓冲区,由于缓冲区使用页面在物理存储器中不一定是持续,因此传播也许会发生问题。
2)如果DMA正在存储器和缓冲区之间传播数据时,操作系统从存储器中移出(或重定位)某些页面,那么,DMA将会在存储器中错误物理页面上进行数据传播。
解决办法:
使操作系统在I/O传播过程中保证DMA设备所访问页面都位于物理存储器中,这些页面被称为是钉在了主存中。
运用“虚拟DMA”技术,容许DMA设备直接使用虚拟地址,并在DMA期间由硬件将虚拟地址转换为物理地址。
在采用虚拟DMA状况下,如果进程在内存中被移动,操作系统应当可以及时地修改相应DMA地址表。
2、从目、技术途径、构成、分工方式、工作方式等5个方面对同构型多解决机和异构型多解决机做一比较(列表)。
同构型多解决机
异构型多解决机
目
提高系统性能(可靠性、速度)
提高系统使用效率
技术途径
资源重复(机间互连)
时间重叠(功能专用化)
构成
同类型(同等功能)
不同类项(不同功能)
分工方式
任务分布
功能分布
工作方式
一种作业由多机协同并行完毕
一种作业由多机协同串行完毕
3、在指令集构造设计中,应当考虑哪些重要问题?
1)①指令集功能设计:
重要有RISC和CISC两种技术发展方向;
②寻址方式设计:
设立寻址方式可以通过对基准程序进行测试记录,察看各种寻址方式使用频度,依照合用频度设立相应必要寻址方式;
③操作数表达和操作数类型:
重要操作数类型和操作数表达选取有,浮点数据类型(可以采用IEEE754原则)、整型数据类型(8位、16位、32位表达办法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表达)等等。
2)寻址方式表达:
可以将寻址方式编码与操作码中,也可将寻址方式作为一种单独域来表达。
3)指令集格式设计:
有固定长度编码方式、可变长编码方式和混合编码方式三种选取。
4、试以系列机为例,阐明计算机体系构造、计算机构成和计算机实现三者之间关系。
1)如在设计主存系统时,i)拟定主存容量、编址方式、寻址范畴属于计算机系统构造。
ii)拟定主存周期、逻辑上与否采用并行主存、逻辑设计等属于计算机构成。
iii)选取存储芯片类型、微组装技术、线路设计等属于计算机实现。
2)计算机构成是计算机系统构造逻辑实现。
计算机实现是计算机构成物理实现。
一种体系构造可以有各种构成。
一种构成可以有各种实现。
5、任写出五种减少Cache失效开销办法(Cache优化技术),并简述其基本思想。
1)让读失效优先于写:
Cache中写缓冲器导致对存储器访问复杂化,因此推迟对读失效解决并检查写缓冲器内容。
2)写缓冲合并:
如果写缓冲器中已有了待写入数据,就要把这次写入地址与写缓冲器中已有所有地址进行比较,看与否有匹配项。
如果有地址匹配而相应位置又是空闲,就把这次要写入数据与该项合并。
3)祈求字解决技术:
从下一级存储器调入Cache块中,只有祈求字是及时需要。
因此应尽早把祈求字发送给CPU。
4)非阻塞Cache技术:
Cache失效时仍容许CPU进行其她命中访问。
5)采用二级Cache:
第一级Cache小而快,第二级Cache容量大,即快和容量两者兼顾
6、指令集构造设计中表达寻址方式重要办法有哪些?
简述这些办法优缺陷。
1)将寻址方式编于操作码中,由操作码在描述指令同步也描述了相应寻址方式。
优缺陷:
这种方式译码快,但操作码和寻址方式结合不但增长了指令条数,导致了指令多样性,并且增长了CPU对指令译码难度。
2)为每个操作数设立一种地址描述符,由该地址描述符表达相应操作数寻址方式。
这种方式译码较慢,但操作码和寻址独立,易于指令扩展。
7、软件兼容有几种?
其中哪一种是软件兼容主线特性?
1)软件兼容:
一种软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运营。
分为:
向上、下、前、后兼容四种。
2)上(下):
按某档计算机编制程序,不加修改就能运营于比它高(低)档计算机。
3)后(前)兼容:
按某个时期投入市场某种型号计算机编制程序,不加修改地就能运营于在它之后(前)投入市场计算机。
4)向后兼容是一定要保证,它是软件兼容主线特性,是系列机主线特性。
8、导致流水线“断流”重要因素是哪三种有关?
简述三种有关基本思想。
1)数据有关:
指令j使用指令i产生成果,或者指令j与指令k数据有关,指令k又与指令i数据有关。
2)名有关:
两条指令使用相似名,但她们之间并没有数据流动。
3)控制有关:
由分支指令引起,需要依照分支指令执行成果来拟定后续指令与否执行
9、计算机体系构造设计和分析中最经常使用三条基本原则是什么?
并说出它们含义。
1)以经常性事件为重点:
对经常发生状况进行优化,使分派更多资源,达到更高性能或者分派更多电能。
2)Amdahl定律:
加快某部件执行速度所能获得系统性能加速比,受限于该部件执行事件占系统中总执行事件比例。
3)程序局部性原理:
程序执行时所访问存储器地址分布不是随机,而是相对簇聚。
10、通道分为哪三种类型?
它们分别适合为哪种外围设备服务?
1)字节多路通道。
一种简朴共享通道,重要为多台低速或中速外围设备服务。
2)数组多路通道。
适于为高速设备服务。
3)选取通道。
为多台高速外围设备(如磁盘存储器等)服务。
11、调度分支延迟指令有哪三种惯用办法?
它们各有什么优缺陷。
1)从前调度:
可以有效提高流水线性能,但分支必要不依赖于被调度指令。
2)从目的处调度:
分支转移成功时,可以提高流水线性能,但由于复制指令,也许加大程序空间。
3)从失败处调度:
分支转移失败时,可以提高流水线性能。
但如果分支转移成功,必要保证被调度指令对程序执行没有影响。
12、表达寻址方式重要办法有哪些?
简述它们优缺陷。
13、简述“Cache-主存”层次与“主存-辅存”层次区别。
Cache-主存层次
主存-辅存层次
为了弥补主存速度局限性
为了弥补主存容量局限性
存储管理实现
所有由专用硬件实现
重要由软件实现
访问速度比值(1级:
2级)
几比一
几万比一
典型块(页)大小
几十个字节
几百到几千个字节
CPU对第二级访问方式
可直接访问
均通过第一级
不命中CPU与否切换
不切换
切换到其他进程
14、试从3C失效关系分析增长块大小对Cache性能影响。
减少失效率最简朴办法是增长块大小。
(1)对于给定Cache容量,当块大小增长(从16字节开始)时,失效率开始是下降,日后反而上升了。
(2)Cache容量越大,使失效率达到最低块大小就越大。
导致上述失效率先下降后上升因素,在于增长块大小会产生双重作用。
一方面它减少了强制性失效,由于局部性原理有两方面含义:
时间局部性和空间局部性,增长块大小运用了空间局部性;
另一方面,由于增长块大小会减少Cache中块数目,因此有也许会增长冲突失效。
在Cache容量较小时,甚至还会增长容量失效。
刚开始增长块大小时,由于块大小还不是很大,上述第一种作用超过第二种作用,从而使失效率下降。
但等到块大小较大时,第二种作用超过第一种作用,使失效率上升。
0简述减小Cache失效开销几种办法答:
让读失效优先于写、写缓冲合并、祈求字解决技术、非阻塞Cache或非锁定Cache技术、采用二级Cache。
15、写出三级Cache平均访问时间公式。
平均访存时间=命中时间+失效率×
失效开销
只有第I层失效时才会访问第I+1。
设三级Cache命中率分别为HL1、Hl2、HL3,失效率分别为Ml1、Ml2、ML3,第三级Cache失效开销为PL3.
则平均访问时间TA=HL1+Ml1{Hl2+Ml2(HL3+ML3×
PL3)}
16、有哪几种向量解决方式?
它们对向量解决机构造规定有何不同?
1)水平解决方式:
不适合对向量进行流水解决。
2)垂直解决方式:
适合对向量进行流水解决,向量运算指令源/目向量都放在存储器内,使得流水线运算部件输入、输出端直接与存储器相联,构成MM型运算流水线。
3)分组解决方式:
适合流水解决。
可设长度为n向量寄存器,使每组向量运算源/目向量都在向量寄存器中,流水线运算部件输入、输出端与向量寄存器相联,构成RR型运算流水线。
17、在进行计算机系统设计时,一种设计者应当考虑哪些因素对设计影响?
技术发展趋势;
计算机使用发展趋势;
计算机价格发展趋势。
18、流水线数据有关有哪几种?
解释它们含义,并用代码举例阐明。
解决数据有关有哪些重要办法?
一方面,流水线有三种有关:
名有关,数据有关和控制有关。
而数据有关分为:
RAW读后写、WAR写后读和WAW写后写有关。
1)其中WAR有关是由于流水线数据有关引起,即j
执行要用到
i
计算成果,当它们在流水线中重叠执行时,j
也许在
写入其计算成果之前就先行对保存该成果寄存器进行读操作,从而得到错误值。
2)WAW有关是由于名有关输出有关引起,即j和i目寄存器相似,当它们在流水线中重叠执行时,j也许在i写入其计算成果之前就先行对该成果寄存器进行写操作,从而导致写入顺序错误,在目寄存器中留下是i写入值,而不是j写入值。
3)RAW有关是由于名有关反有关引起,即j也许在i读取某个源寄存器内容之前就先对该寄存器进行写操作,导致i日后读取到值是错误。
如下列代码:
F0,F4和R1都存在数据有关,执行将浮现错误。
但为了保证下述指令序列对的执行,流水线只得暂停。
Loop:
L.DF0,0(R1)//F0为数组元素
ADD.DF4,F0,F2//加上F2中值
S.DF4,0(R1)//保存成果
DADDIUR1,R1,-8//数组指针递减8个字节
BNER1,R2,Loop//如果R1≠R2,则分支
采用定向技术可以消除有关,思想是:
在某条指令产生计算成果之前,其她指令并不真正及时需要该计算成果,如果可以将该计算成果从其产生地方直接送到其她指令需要它地方,那么就可以避免停顿。
19、试举例阐明DLX流水线中存在不能依托定向技术解决数据有关及其解决办法。
不是所有数据有关带来暂停都可以通过定向技术消除,如下面例子:
LWR1,0(R2)
SUBR4,R1,R5
ANDR6,R1,R7
ORR8,R1,R9
这是LW指令不能将成果定向到SUB指令,就需要设立一种称为流水线互锁功能部件。
一旦流水线互锁检测到上述数据有关,流水线暂停执行LW指令之后所有指令,直到可以通过定向解决该数据有关为止。
四、计算题
1、给定如下假设,试计算直接映象Cache和两路组相联Cache平均访问时间以及CPU性能。
由计算成果能得出什么结论?
(考试时候数必定不同样!
!
)
(1)抱负Cache状况下CPI为2.0,时钟周期为2ns,平均每条指令访存1.3次。
(2)两者Cache容量均为64KB,块大小都是32字节。
(3)组相联Cache中多路选取器使CPU时钟周期增长了10%。
(4)这两种Cache失效开销都是70ns。
(5)命中时间为1个时钟周期。
(6)64KB直接映象Cache失效率为1.4%,64KB两路组相联Cache失效率为1.0%。
平均访存时间为:
平均访存时间=命中时间+失效率×
失效开销
平均访存时间1路=2.0+(0.014×
70)=2.98ns
平均访存时间2路=2.0×
1.10+(0.010×
70)=2.90ns
2路组相联Cache平均访存时间比较低。
CPU时间=IC×
(CPIexe+每条指令平均存储器停顿周期数)×
时钟周期时间
=IC×
(CPIexe×
时钟周期时间+每条指令平均存储器停顿时间)
CPU时间1路=IC×
(2.0×
2+(1.3×
0.014×
70))=5.27×
IC
CPU时间2路=IC×
2×
1.10+(1.3×
0.010×
70))=5.31×
因此直接映象Cache平均性能好某些。
2、计算机系统字长64位,包括三个选取通道和一种多路通道,每个选取通道上连接了两台磁盘机和三台磁带机,多路通道上连接了了两台行式打印机,两台读卡机、10台终端,假定各设备传播率如下:
磁盘机:
600KBps,磁带机:
200KBps,行打机:
6.6KBps,读卡机:
1.2KBps,终端:
1KBps。
计算该计算机系统最大I/O数据传播率。
多路通道最大数据传播率:
选取通道最大数据传播率:
TS:
设备选取时间。
从通道响应设备发出数据传送祈求开始,到通道实际为这台设备传送数据所需要时间。
TD:
传送一种字节所用时间。
p:
在一种通道上连接设备台数,且这些设备同步都在工作。
n:
每台设备传送字节数,这里假设每台设备传送字节数都相似。
k:
数组多路通道传播一种数据块中包括字节数。
在普通状况下,k<
n。
对于磁盘、磁带等磁表面存储器,普通k=512。
选取通道和数组多路通道实际流量就是连接在这个通道上所有设备中数据流量最大那一种。
因而,多路通道最大传播率是6.6KBps,选取通道最大传播率是600KBps,系统最大I/O传播率应为两者之和606.6KBps
3、某计算机系统采用浮点运算部件后使浮点运算速度提高到本来20倍,而系统运营一程序整体性能提高到本来10倍,试计算该程序中浮点操作所占比例。
设比例为x,依照Amdahl定律知:
求解得x=0.0956,即占比9.56%
4、动态多功能流水线由6个功能段构成,如下图所示:
其中,s1、s4、s5、s6构成乘法流水线,s1、s2、s3、s6构成加法流水线,各个功能段时间为△t,假设该流水线输出成果可以直接返回输入端,并且设立有足够地缓冲寄存器,若以最快方式用该流水计算:
∏(Ai+Bi)(其中i=1..4,∏为连乘符号)
(1)画出其解决过程时空图。
(2)计算其实际吞吐率、加速比和效率。
1)先计算A1+B1、A2+B2、A3+B3和A4+B4;
再计算(A1+B1)×
(A2+B2)和(A3+B3)×
(A4+B4);
然后求总乘积成果。
时空图:
流水线实际吞吐率
(n个持续任务,k段线性流水线)
效率:
流水线各段时间相等时加速比:
流水线各段时间不完全相等时,一条k段流水线完毕n个持续任务实际加速比为:
因此上述在18个△t时间中,给出了7个成果。
吞吐率为:
不用流水线,由于一次求和需6△t,一次求积需4△t,则产生上述7个成果共需(4×
6+3×
4)△t=36△t,因此加速比为
流水线效率为:
5、在伪相联中,假设在按直接映象找到位置处没有发现匹配,而在另一种位置才找到数据(伪命中)需要2个额外周期;
直接映象命中时间为1个时钟周期,两路组相联命中时间为1.2个时钟周期,直接映象状况下失效开销为50个时钟周期,当Cache容量为64KB时,直接映象失效率为1.4%,两路组相联失效率为1%,问:
直接映象、两路组相联和伪相联这三种组织构造中,哪一种速度最快?
解:
一方面考虑原则平均访存时间公式:
平均访存时间伪相联=命中时间伪相联+失效率伪相联×
失效开销伪相联
由于:
失效率伪相联=失效率2路
命中时间伪相联=命中时间1路+伪命中率伪相联×
2
伪相联查找命中率等于2路组相联Cache命中率和直接映象Cache命中率之差。
因此,伪命中率伪相联=命中率2路-命中率1路
=(1-失效率2路)-(1-失效率1路)
=失效率1路-失效率2路
平均访存时间伪相联=命中时间1路+(失效率1路-失效率2路)×
+失效率2路×
失效开销1路
因此:
平均访存时间伪相联64KB=1+(0.014-0.01)×
2+(0.01×
50)=1.508个时钟
而正常平均访存时间=命中时间+失效率×
对于64KBCache,可得:
平均访存时间1路=1+0.014×
50=1.7个时钟
平均访存时间2路=1.2+0.01×
50=1.7个时钟
因此,伪相联Cache都是速度最快。
6、假定Cache失效开销为50个时钟周期,当不考虑存储器停顿时,所有指令执行时间都是2.0个时钟周期,访问Cache失效率为2%,平均每条指令访存1.33次。
求没有Cache和有Cache两种状况下平均指令执行时间。
平均访存时间有Cache=2+0.02×
50=3个时钟
平均指令执行时间有Cache=1.33×
3=3.99个时钟
平均访存时间无Cache=2+1×
50=52个时钟
平均指令执行时间无Cache=1.33×
52=69.69个时钟
显然有Cache快得多。
7、在三级Cache中,第一级Cache、第二级Cache和第三级Cache局部失效率分别为4%、30%和50%。
它们全局失效率各是多少?
第一级Cache、第二级Cache和第三级Cache局部失效率分别为4%、30%和50%指假设访问存储器1000次,则第一级失效40次,第二级失效x2/40=0.3,即12次,第三级失效x3/12=0.5,即6次。
因此全局失效率为:
第一级4%,第二级12/1000=1.2%,第三级6/1000=0.6%。
8、计算机A和计算机B具备相似指令系统。
执行同一种程序时,计算机A时钟周期为1.1ns,CPI为2.0,计算机B时钟周期为2ns,CPI为1.3。
请问执行这个程序时,哪台计算机更快?
CPI表达每条计算机指令执行所需时钟周期数
A需要2个,即2×
1.1=2.2ns一条指令;
B需要1.3个,即1.3×
2=2.