东北师范大学计算机系统结构课后习题及期末复习(简述)
计算机系统结构复习
注意:考试时基本会要求简述一些原理:比如阿姆达尔、哈夫曼编码。。题目全是作业题,所以,平时作业好好做啊,同学们。
一、阿姆达尔定律
作业
作业1
某功能加速1.5倍,占运行时间的40%,求加速比
作业2
浮点运算提速到25倍,整体提速4倍,求浮点运算的比例
作业3
计算机系统有3个部件可以改进,这3个部件的加速比如下:
部件加速比S1=30,;部件加速比S2=20;部件加速比S3=10
(1)如果部件1和部件2的可改进比例为30%,那么当部件3可改进比例为多少时,系统的加速比才可以达到10:?
(2)如果3个部件的可改进比例为30%,30%和20%,3个部件同时改进,那么系统中不可改进部分的执行时间的总执行时间中占的比例是多少?
作业4
将计算机系统中某一功能的处理速度加快20倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此增强功能的方法后,能使整个系统的性能提高多少?
作业5
某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,试计算该程序中浮点操作所占的比例。
作业6
假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高,具体数据如下表所示。
操作类型 | 程序中的数量(百万条指令) | 改进前的执行时间(周期) | 改进后的执行时间(周期) |
---|---|---|---|
操作1 | 10 | 2 | 1 |
操作2 | 30 | 20 | 15 |
操作3 | 35 | 10 | 3 |
操作4 | 15 | 4 | 1 |
(1)改进后,各类操作的加速比分别是多少?
(2)各类操作单独改进后,程序获得的加速比分别是多少?
(3)4类操作均改进后,整个程序的加速比是多少?
答案
知识点
原公式:S=1/(1-a+a/n)
S为加速比
a为并行计算部分所占比例
n为该部分加速倍数
当a=100%时,(即没有串行,只有并行)最大加速比s=n;当a=0时(即只有串行,没有并行),最小加速比s=1;当n→∞时,极限加速比s→ 1/(1-a),这也就是加速比的上限
扩展:S=1/(1-$\Sigma$a+$\Sigma$(a/n))
用于多个部件同时加速
二、流水线
作业
1.用一条5个功能段的浮点加法流水线计算:
每个功能段的延迟时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。请求用尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。
- 有一个流水线由4段组成,其中每当流经第3段时,总要在该段再循环一次(即第3段执行2次),然后才能流到第4段。如果每段经过一次所需要的时间都是△t,请问:
(1)当在流水线的输人端连续地每△t时间输人一个任务时,该流水线会发生什么情况?
(2)此流水线的最大吞吐率为多少?如果毎2△t输入一个任务,连续处理10个任务时的实际吞吐率和效率是多少?
(3)当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务时,其吞吐率提高到多少?
3.什么是指令流水?画出指令二级流水和四级流水的示意图,他们中哪一个更能提高处理器速度,为什么?
4.假设指令流水线分取指IF、译码ID、执行EX、回写WR四个过程段,共有10条指令连续输入此流水线。
(1)画出指令周期流程
(2)画出非流水线时空图
(3)画出流水线时空图
(4)假设时钟周期为100ns,求流水线的实际吞吐率
(5)求该流水处理器的加速比。
5.动态多功能流水线由6个功能组成,如下图
其中S1,S4,S5,S6组成乘法流水线,S1,S2,S3,S6组成加法流水线,各个功能段
时间均为50ms,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:求和
(1)画出时空图
(2)计算实际的吞吐率、加速比和效率。
6.设有一个15000条指令的程序在一台时钟速率为25MHz的线性流水线处理机上执行。假设该指令流水线有5段,并且每个时钟周期发射一条指令。忽略由于转
移指令和无序执行造成的损失。
(1)用该流水线执行这一程序,并用流过延迟与其相等的一个等效非流水线处理机执行同一程序,将两者加以比较,并计算其加速比。
(2)该流水线处理机的效率是多少?
(3)计算该流水线的吞吐率。
7.设一条指令的执行过程分为“取指令”、“分析”、和“执行”三段,每一段的执行时间分别为在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。
(1)顺序执行方式。
(2)仅取指令和执行重叠
(3)取指令、分析和执行重叠
(4)先行控制方式.
答案
-
解:假设每个功能段延迟时间均为△t
【这里需要先分析一波需要操作的段数】
可以看出,共完成了9个加法操作(n=9),总时长为21Δt(Tk=21Δt),每条指令均执行5个流水段(k=5)。
-
解:
(1)假设有4个任务进入流水线,如下图:
可以看出流水线发生了阻塞。
(2)最大吞吐率
【执行2次的第3段成了最大时间】如果每2△t输入一个任务,连续处理10个任务时:
(3)可以重复设置瓶颈段
-
解:指令流水是指将一条指令的执行过程分为n个操作时间大致相等的阶段,每个阶段由一个独立的功能部件来完成,这样n个部件可以同时执行n条指令的不同阶段,从而大大提高CPU的吞吐率。
指令二级流水和四级流水示意图如下:IF,ID EX,WR IF,ID EX,WR IF,ID EX,WR 二级指令流水示意图 IF ID EX WR IF ID EX WR IF ID EX WR 四级指令流水示意图
四级流水更能提高处理机的速度
假设IF、ID、EX、WR每个阶段耗时为Δt,则连续执行n条指令
采用二级流水线时,耗时为:4Δt+(n-1)*2Δt=(2n+2)Δt
采用四级流水线时,耗时为:4Δt+(n-1)*Δt=(n+3)Δt
在n>1时,n+3<2n+2,可见四级流水线耗时比二级流水线耗时短,因此更能提高处理机速度。
-
解:(1)
-
(1)解:(1)
(2)吞吐率
≈12.73条/秒
加速比S=(14*4)/22=2.55
效率E=(144)/(226)=14/33=42.42%
-
-
解:【把时空图画出来就特别清晰了】
知识点
- 先行控制是指在处理机内部设置一定容量的指令缓冲栈,把指今分折器所需要的指令事先取到指令缓冲栈中,而不必访问存储器。也就没有取指的时间。
- E(效率)=n个任务占用的时空区/m个段所需总的时空区=T顺/m×T流
- 例:
- 例:
- 实际吞吐率(设流水线由m段组成,完成n个任务的吞吐率):Tp=n/T流水
- 最大吞吐率(是指流水线在达到稳定状态后所得到的吞吐率):
三、Cache
作业
1.假设主存容量为512 Kx16位,Cache容量为4096x16位,块长为4个16位的字,访存地址为字地址。
(1)在直接映射方式下,设计主存的地址格式。
(2)在全相联映射方式下,设计主存的地址格式。
(3)在二路组相联映射方式下,设计主存的地址格式。
(4)若主存容量为512Kx32位,块长不变,在四路组相联映射方式下,设计主存的地址
格式。
解:
2.有3个Cache块,初始状态整个Cache为空,采用全相连映射。CPU依次访问主存块的顺序为:6,0,1,2,0,3,0,4,2,3,分别采用先进先出置换算法、最近最久未使用算法,求出Cache的命中次数。
解:FIFO
3.在Cache-主存层次中,主存的更新算法有哪两种?它们各自有什么特点?
答:写直达法:易于实现,而且下一级存储器中的数据总是最新的
写回法:速度块,“写”操作能以 Cache 存储器的速度进行。而且对于同一单元的多 个写最后只需一次写回下一级存储器,有些“写”只到达 Cache,不到达主存,因而所使用 的存储器频带较低。
4.减少写停顿的常用优化技术是什么?
答:采用写缓冲器。
5.发生写不命中时,是否调入相应的块,有两种选择:______, _______.
答:按写分配发,不按写分配法【???】
6.假设CPU执行某段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次。已知:cache的存取周期为40ns,主存的存取周期为240ns。求Cache/主存系统的效率和平均访问时间。
知识点
直接映射:
i= j mod(M) (M为Cache的块数)
优点:节省所需硬件,成本很低。
缺点:空间利用率最低,块冲突概率很高
全相联映射
优点:空间利用率最高,冲突概率最低,当Cache全部装满才有可能发生块冲突。
缺点:主存字块标记为全部块地址,需要描述所有行,效率低
组相联映射
组间直接映射,组内全相联映射
替换算法
- 先进先出算法(FIFO)选择最早调入的块作为被替换的块
- 最近最久未使用(LRU)依据程序访问的局部性原理选择近期内长久未访问过的存储行作为替换的。
- 最不经常使用(LFU)将一段时间内被访问次数最少的存储行换出。
- 最优替换算法(OPT)理论不实际
性能分析
cache的命中率 = cache完成存取的次数/(cache完成存取的次数+主存完成存取的次数)
平均访存时间 = 命中率×命中开销+不命中率×不命中开销
访问效率:
tc :命中时cache的访问时间(即cache存取周期)
四、IEEE754
作业
最终 x3 的 IEEE754 位表示为 1 1010 11100
知识点
-
浮点数格式:float , double , long double
-
阶码:在 IEEE 754 标准中,阶码是用移码表示的,移码的定义:移码 = 真值 + 偏置值
移码的偏置值是 2^(n-1)-1,8 位的移码的偏置值为 2^(8-1)-1 = 127D = 0111 1111B;
例如:-126D = -0111 1110B ,其移码为 -0111 1110 + 0111 1111 = 0000 0001
- 尾数码:部分采用原码表示,且尾数码隐含了最高位 1,在计算时我们需要加上最高位1,即 1.M,我们通过一个例子来表示:
例如:有一个浮点数,真值为 0.11B ,那么其简略版的 IEEE 754 标准表示为(忽略 符号码 和 阶码):
S(1) E(8) 100 0000 0000 0000 0000 0000
即当 0.11B 这个数在记录为 IEEE 754 标准浮点数时,会这样处理,令 0.11 = 1.1 * 2^(-1) ,尾数码是 1.1000…,然后隐含最高位1,即 0 .1000…。
- 真值的计算
- 十进制转为IEEE754
五、Tomasulo算法
作业(篇幅所限,略)[基本上就考这个了]
知识点
- CPI(流水线)=CPI(理想)+停顿(结构冲突)+停顿(数据冲突)+停顿(控制冲突);流水线冲突类型:结构冲突,数据冲突,控制冲突
- 正确执行程序的关键属性:数据流和异常行为
- 静态调度,即流水线调度。依靠编译器对代码进行静态调度,以减少相关和冲突
- 动态调度,在程序执行的过程中,依靠专门的硬件对代码的调度,减少数据相关导致的停顿。
- 在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,减少数据相关导致的停顿
- 特点:支持多条指令同时处在执行的过程中!
- 在基本流水线中,一旦一条指令受阻,其后的指令都将停顿顿
- 因此为了允许乱序执行,动态调度将五段流水线的译码阶段再分为两个子阶段:流出;读操作数。
- 三种冒险:写后读、读后写、写后写。(后面用缩写代替)
- 没什么重要的知识点,把例题看懂就可以,ROB所用篇幅很少,略过。
六、CPI
作业
-
某计算机指令系统中各类指令所占比例及CPI如下表所示,求程序的CPI:
指令类型 指令比例 CPI ADD 50% 2 SUB 12% 4 MUL 24% 8 DIV 14% 10 解:CPI=2×0.5+4×0.12+8×0.24+10×0.14=4.8
- 计算机A的时钟频率为800MHz,在计算机A上运行某程序需要12s。现在硬件设计人员需要使用新技术设计一台计算机B,希望能够将程序的运行时间缩短到8s。使用新技术后,B的CPU时钟频率大幅度提高,但是在计算机B上,运行程序所需要的时钟周期数为A上的 1.5倍。求在计算机B的CPU时钟频率至少为多少GHz才能达到所希望的需求。
解:程序在 A、B计算机上需要执行的指令数(IC)不变,但是时钟周期数变化了,即 CPI变成了1.5倍。
设计算机B的CPU时钟频率为n GHz。
按照CPU时间公式,得到在A、B计算机上:
1/800MHz * CPI * IC = 12s
1/n×1000MHz * 1.5*CPI * IC = 8s
所以:
12/(CPI* 1/800) = 8/(CPI * 1.5 * 1/n )
最终可得到 n 为 1.8,所以计算机 B的CPU需要1.8GHz才能达到需求。
- 若某程序编译后生成的目标代码由A、B、C、D四类指令组成,它们在程序中所占比例分别为20%、40%、20%、20%。已知A、B、C、D四类指令的CPI分别为1、2、2、2。现需要对程序进行编译优化,优化后的程序中A类指令条数减少了一半,而其它指令数量未发生变化。假设运行该程序的计算机CPU主频为500MHZ。优化后程序的CPI和MIPS为(保留到小数点后一位)
解:
CPI分别为
A:10/90x1
B:40/90x2
C:20/90x2
D:20/90x2
CPI=A+B+C+D=17/9
根据公式MIPS=f/CPIx10^6可求得MIPS=264.7
- 某计算机的时钟频率为400MHz,测试该计算机的程序使用4种类型的指令。每种指令的数量及所需指令时钟数()如下表所示,计算该计算机的 CPI和MIPS。
指令类型 指令数目(条) 各指令的平均周期数 1 160000 1 2 30000 2 3 24000 4 4 16000 8
知识点
好像没有什么好说的,就两个公式,套用即可。
七、RAID
作业
- 简述各类型RAID的优缺点。
(1) RAID0:
① 优点:简单/实现成本低/容量大,读写速度在RAID中最快
② 缺点:不提供数据冗余,一旦数据被损坏,将无法得到恢复/没有容错能力,只要其中任何一块磁盘出现故障,整个系统将无法正常工作。
(2) RAID1
① 优点:安全性好/原理和设计简单
② 缺点:实现成本高/性价比低
(3) RAID2
① 优点:不依靠故障盘进行自诊断
② 缺点:以位分割数据,数据存储太散,检验算法复杂,硬件开销偏大,两个或两个以上的硬盘出问题,数据无法恢复
(4) RAID3
① 优点:数据传输率高/只需要一个校验盘,校验空间开销比较小
② 缺点:不能同时进行多个I/O请求的处理/每次读写操作要访问组中的所有盘,会导致盘长时间高负荷工作,容易坏/只能损坏一个硬盘
(5) RAID4
① 优点:数据块通常比比特大很多,小文件写入比RAID3快/校验开销空间也比较小
② 缺点:阵列控制器复杂/非校验盘损坏时数据的恢复概率比RAID3低/和RAID3一样,也只能损坏一个硬盘
(6) RAID5
① 优点:校验空间开销较小/除了能跟RAID3一样快地处理大规模访问、能跟RAID4一样快地处理小规模读操作之外,还能比它们都更快地处理小规模写操作
② 缺点:控制器复杂/和RAID3及RAID4一样,只允许一块硬盘损坏/遇到不可恢复性读取错误(URE)需要多次重建阵列,容易导致硬盘损坏
(7) RAID6
① 优点:在损坏两个硬盘时有可能恢复
② 缺点:性能提升不明显,校验空间开销翻倍
(8) RAID10
① 优点:高可靠性、高存储性能
② 缺点:高成本
(9) RAID01
① 优点:高可靠性、高存储性能
② 缺点:高成本
- 提高可靠性所采用的的方法有哪些?
(1) 减小单个磁盘容量:随着磁盘容量的增加,数据丢失的概率会大为增加,数据可靠性降低
(2) 数据重构性能:提升数据重构性能,增加数据可靠性
(3) 提升数据保护级别:增加数据冗余度,降低数据丢失概率,提升数据可靠性
- 当数据盘有8块时,各类型RAID可检测出的故障有几个?需要几个冗余盘?
RAID0可检出0个故障,需要0个冗余盘。
RAID1可检出1个故障,需要8个冗余盘。
RAID2可检出1个故障,需要4个冗余盘
RAID3可检出1个故障,需要1个冗余盘。
RAID4可检出1个故障,需要1个冗余盘。
RAID5可检出1个故障,需要1个冗余盘。
RAID6可检出2个故障,需要2个冗余盘。
RAID10 可检出2个故障,需要8个冗余盘。
RAID01可检出2个故障,需要8个冗余盘。
- 各类型RAID至少需要几块盘?为什么?
① RAID0:2(以条带为单位交叉地分布存放到多个磁盘中)
② RAID1:2(为所有的磁盘数据提供一份冗余的备份)
③ RAID2:2(利用海明码实现数据校验冗余,磁盘1存数据位.磁盘2存检校位)
④ RAID3:2(数据盘+专用校验盘)
⑤ RAID4:2(数据盘+专用校验盘)
⑥ RAID5:3()
⑦ RAID6:4(P+Q双校验)
⑧ RAID10:4(先镜像,后条带存放)
⑨ RAID01:4(先条带存放,后镜像)
知识点
请看上面,
应该都是记背内容,没有什么要计算的。
八、哈夫曼树
作业
1、某模型机有9条指令,其使用频度为:ADD(加):30%,SUB(减):24%,JOM(按负转移):6%,STO(存):7%,JMP(转移):7%,SHR(右移):2%,CIL(循环左移):3%,CLA (清加):20%,STP(停机):1%。
(1)根据使用频度,不考虑其它要求,设计出全Huffman操作码,并计算其平均码长;
(2)设计优化实用的操作码形式,并计算操作码的平均码长。
解:(1)Huffman树的形式如下:
由上图得Huffman编码为:
ADD(加 30% 01
SUB(减) 24% 11
CLA (清加) 20% 10
JOM(按负转移) 6% 0001
STO(存) 7% 0011
JMP(转移) 7% 0010
CIL(循环左移) 3% 00001
SHR(右移) 2% 000001
STP(停机) 1% 000000
平均码长=(0.30+0.24+0.2)×2+(0.06+0.07+0.07)×4+0.03×5+(0.02+0.01)×6=2.61(位/指令)
(2)采用2-5扩展的操作码为
ADD(加) 30% 00
SUB(减) 24% 01
CLA (清加) 20% 10
JOM(按负转移) 6% 11000
STO(存) 7% 11001
JMP(转移) 7% 11010
SHR(右移) 2% 11011
CIL(循环左移) 3% 11100
STP(停机) 1% 11101
平均码长=(0.30+0.24+0.2)×2+(0.06+0.07+0.07+0.02+0.03+0.01)×5=2.78(位/指令)
2、假设某机器共有8条指令(I1~I8) ,使用频度如表所示,要求:
指令 | 使用频度Pi |
---|---|
I₁ | 0.20 |
I₂ | 0.30 |
I₃ | 0.05 |
I₄ | 0.12 |
I₅ | 0.15 |
I₆ | 0.08 |
I₇ | 0.04 |
I₈ | 0.06 |
(1)构造哈夫曼树,计算采用哈夫曼编码时操作码的平均码长。
(2)如果采用只有两种码长的扩展操作码进行编码,给出一种最优编码方案,使得操作码的平均码长最短,并求出平均码长。
解:(1)Huffman树:略
平均码长=4×(0.04+0.05+0.06+0.08)+3×(0.12+0.15)+2×(0.2+0.3)=2.73(位/指令)
(2)最优编码方案:按照指令使用频度值将频度值分为两组,I1、I2使用2位操作码编码,留下10、11作为扩展标志,拓展出2位来编码其余6条指令。
指令 | 使用频度 | 扩展编码 |
---|---|---|
I₂ | 0.30 | 00 |
I₁ | 0.20 | 01 |
I₅ | 0.15 | 1000 |
I₄ | 0.12 | 1001 |
I₆ | 0.08 | 1010 |
I₈ | 0.06 | 1011 |
I₃ | 0.05 | 1100 |
I₇ | 0.04 | 1101 |
平均码长=2×(0.30+0.20)+4×(0.15+0.12+0.08+0.06+0.05+0.04)=3(位/指令)
3、假设某机器共有8条指令,使用频度如下表:
指令 | 使用频度Pi |
---|---|
I₁ | 0.30 |
I₂ | 0.10 |
I₃ | 0.25 |
I₄ | 0.15 |
I₅ | 0.05 |
I₆ | 0.04 |
I₇ | 0.01 |
I₈ | 0.10 |
(1) 构造哈夫曼 (Huffman) 树;
(2) 列表写出操作码的哈夫曼编码和只有两种码长的扩展操作码;
(3) 分别计算使用哈夫曼编码和只有两种码长的扩展操作码的平均码长
解:(1) 哈夫曼 (Huffman) 树
(2) 哈夫曼编码,扩展操作码
指令 | 使用频度Pi | 哈夫曼编码 | 操作码长度 | 扩展操作码 | 操作码长度 |
---|---|---|---|---|---|
I₁ | 0.30 | 00 | 2 | 00 | 2 |
I₂ | 0.10 | 110 | 3 | 11000 | 5 |
I₃ | 0.25 | 01 | 2 | 01 | 2 |
I₄ | 0.15 | 100 | 3 | 10 | 2 |
I₅ | 0.05 | 1110 | 4 | 11010 | 5 |
I₆ | 0.04 | 11110 | 5 | 11011 | 5 |
I₇ | 0.01 | 11111 | 5 | 11100 | 5 |
I₈ | 0.10 | 101 | 3 | 11001 | 5 |
(3) 哈夫曼编码的平均码长:
L=(0.30+0.25)×2+(0.1+0.1+0.15)×3+0.05×4+(0.04+0.01)×5=2.60
扩展操作码的平均操作码:
L=(0.30+0.25+0.15)×2+(0.10+0.10+0.05+0.04+0.01)×5=2.90
4、一个信源从符号集A={a1,a2,a3,a4,a5}中选择字母,概率为P(a1)=0.15,P(a2)=0.04,P(a3)=0.26,P(a4)=0.05,P(a5)=0.50.
(1)计算这个信源的熵。
(2)求这个信源的霍夫曼码。
(3)求(2)中的代码的平均长度,及其冗余。
解:(1)根据公式:
H(A)=-P(a1)log2P(a1)-P(a2)log2P(a2)-P(a3)log2P(a3)-P(a4)log2P(a4)-P(a5)log2P(a5) =-0.15log20.15-0.04log20.04-0.26log20.26-0.05log20.05-0.50log20.50
=1.818(bit)
(2)
码长 | 码字 | 信源符号 | 频率 |
---|---|---|---|
1 | 1 | a5 | 0.5 |
2 | 01 | a3 | 0.26 |
3 | 001 | a1 | 0.15 |
4 | 0001 | a4 | 0.05 |
4 | 0000 | a2 | 0.04 |
该信源的霍夫曼编码为:
A1=110 A2=1111 A3=10 A4=1110 A5=0
码长:A1:3 A2:4 A3:2 A4:4 A5:1
(3)根据公式:(码长*概率)
代码平均长度:L=30.15+40.04+20.26+40.05+1*0.5
=1.83bit
冗余:V=1-N
=1-(H/L*100%)
=1-(1.818/1.83*100%)
=0.0066
知识点
- 哈夫曼树的构造,我相信各位应该都会,这里就不多说了
- 平均码长=求和(码长*使用频率)
- 扩展编码:可能是要求限制编码长度种类;或者直接提供编码长度,例如:“2-5”
- 这种扩展也是比较灵活的:例如一个2-4扩展编码:
- 1/12:2位的只取00,然后四位的码取01XX;10XX;11XX,XX都是00,01,10,11四种取法
- 2/8,2位00、01,四位10XX,11XX
- 选择匹配当前情况的即可
- 这种扩展也是比较灵活的:例如一个2-4扩展编码:
- 信息熵:
- 冗余:V=1-N=1-(信息熵/代码均长)
九、超流水
作业
- 判断题()
理论上,同一时钟周期内,超流水处理机的指令是分时流出的 ()
超标量处理机和超流水处理机是完全等价的 ()
超长指令字处理机无需编译器配合就能使用 ()
理论上,同一时钟周期内,超标量处理机的指令是分时流出的 ()
参考答案:是 否 否 否
- 超长指令字技术是通过______来提高指令的并行性的。
参考答案:把多条能并行执行的指令组合成一条具有多个操作码字段的指令
-
超标量流水技术是指——
答案:在每个时钟周期内同时并发多条指令 -
指令多流出处理器的流出能力主要受哪3个方面的影响?
正确答案:
指令多流出处理机的流出能力主要受以下3个方面的影响。
①程序所固有的指令级并行性。
②硬件实现上的困难。多流出的处理器需要大量的硬件资源随着每个时钟周期流出指令数的增加所需的硬件成正比地增长所需的存储器带宽和寄存器带宽也大大增加了这样的带宽要求必然导致大量增加硅片面积加大面积就导致时钟频率下降、功耗增加、可靠性降低等一系列问题。
③超标量和超长指令字处理器固有的技术限制。指令多流出处理机的流出能力主要受以下3个方面的影响。①程序所固有的指令级并行性。②硬件实现上的困难。多流出的处理器需要大量的硬件资源,随着每个时钟周期流出指令数的增加,所需的硬件成正比地增长,所需的存储器带宽和寄存器带宽也大大增加了,这样的带宽要求必然导致大量增加硅片面积,加大面积就导致时钟频率下降、功耗增加、可靠性降低等一系列问题。③超标量和超长指令字处理器固有的技术限制。
- 简述超流水线处理机提高指令级并行的方法和特点
正确答案:
方法:注重开发时间并行性,在公共的硬件上采用较短时钟周期,深度流水来提高速度;
特点:并行度高;充分利用公共的硬件,但是需要高速时钟机制。
- 设指令由取指令、分析、执行和存储四个子部件构成,每个部件经过的时间为△t,连续执行14条指令。请分别画出在常规标量流水处理机及度 m 均为 2 的超标量处理机、超长指令字处理机上工作的时空图,并分别计算它们相对常规标量流水处理机的加速比 Sp。
正确答案:
(1) 在标量流水线处理机上执行14条指令的时空图如下表所示,完成时间为17△t.
(2) 在m=2的超标量流水线处理机上执行12条指令的时空图如下:
完成时间为10△t,加速比为:sp=17△t/10△t=1.7
(3) 在m=2的超长指令字处理机上执行12条指令的时空图如下:
完成时间为10△t,加速比为:sp=17△t/10△t=1.7
知识点
如上