计算机系统结构复习资料_第1页
计算机系统结构复习资料_第2页
计算机系统结构复习资料_第3页
计算机系统结构复习资料_第4页
计算机系统结构复习资料_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机系统结构(专升本)模拟题一单选 TOC o 1-5 h z 对汇编语言程序员透明的是(A)。A.Cache内容的存取B.浮点运算C.程序性中断D.存取操作数通常计算机中采用浮点数来表示数学中的实数,如果浮点数尾数基值取大,下列说法中不正确的是()。A.扩大浮点数的表示范围B.增加可表示数的个数C.增加数据的表示精度D.提高运算速度RISC计算机中采用重叠寄存器窗口的作用是()。减少运算过程中对内存储器的访问减少过程切换时参数保存和传递所花费的时间减少对内存容量的要求加快运算器的运算速度非线性流水线的特征是()。一次运算中使用流水线中的多个功能段一次运算中要多次使用流水线中的某些功能段流水

2、线中某些功能段在各次运算中的作用不同流水线的各功能段在不同运算中可以有不同的连接CRAY-1的两条向量指令:;属于()。没有功能部件冲突和源Vi冲突,可以并行没有功能部件冲突和源Vi冲突,可以链接没有源Vi冲突,可以交换执行顺序有向量Vi冲突,只能串行 TOC o 1-5 h z 流水机器对全局性相关的处理不包括()。A.猜测法B.提前形成条件码C.加快短循环程序的执行D.设置相关专用通道系列机软件应做到()。A.向前兼容,并向上兼容B.向后兼容,力争向上兼容C.向前兼容,并向下兼容D.向后兼容,力争向下兼容以提高存储容量为目的的存储器是()。A.Cache存储器B.虚拟存储器C.并行访问存储

3、器D.交叉访问存储器RISC执行程序的速度比CISC要快的关键原因是(ACD)。P37A.RISC的指令系统的指令数较少程序在RISC上编译生成的目标程序较短C.RISC的指令平均周期数较少D.RISC只允许Load指令和store指令访存对于机器语言程序员而言,以下()是透明的。A.通用寄存器B.程序性中断C.Cache数据的存取D.主存储器利用时间交叉概念实现并行处理的是()。A.流水处理机B.多处理机C.阵列处理机D.机群系统在推出系列机的新机器时,不能更改的是()。原有指令的寻址方式和操作码系统总线的组成数据通路宽度存储芯片的集成度下面关于流水线的说法中不正确的是()。在流水线中处理的

4、必须是连续的任务流水线实际上是将一个大的功能部件分解成多个独立的功能部件,并依靠多个功能部件并行工作来缩短程序的执行时间流水线中各段的时间应尽量相等,否则将引起“堵塞”、“断流”等现象D.流水线需要有“装入时间”和“排空时间”下面对Huffman编码的说法中,正确的是()。编码结果不唯一,但结果的平均码长唯一。编码结果唯一,但结果的平均码长不唯一。编码结果和结果的平均码长都不唯一。编码结果和结果的平均码长都唯一。高速缓存的地址映像与变换方法中最常用的是()。A.全相联B.直接相联C.组相联D.组相联和全相联向量计算机的基本结构有()。A.寄存器-寄存器结构和存储器-存储器结构B.Cache-主

5、存-外存模式横向和纵向链接模式横向、纵向和分组模式下述4种编码中,不是2-4扩展码的是()。A.12B.28C.34D.4/8如下图所示一条单功能流水线,图中标明了各功能所需的时间,这条流水线的最大吞吐率应为()。按照Flynn分类法可以将计算机系统结构分为四类,他们是()。单指令流单数据流、单指令流多数据流、多指令流单数据流、多指令流多数据流字串位串、字并位串、字串位并、字并位并科学计算、事务处理、实时控制、家用单处理机、多处理机、标量处理机、向量处理机以下说法不正确的是()。线性流水线是单功能流水线动态流水线是多功能流水线静态流水线是多功能流水线动态流水线只能是单功能流水线在顺序流动的指令

6、流水线中,最可能发生的相关是()。同一条指令的读操作与写操作之间的先写后读相关先流入的指令的写操作与后流入的指令的读操作之间的先写后读相关后流入的指令的写操作与先流入的指令的读操作之间的先读后写相关两条指令的写操作之间的写写相关 TOC o 1-5 h z 虚拟存储器常用的地址映像是()。A.全相联映像B.组相联映像C.直接映像D.全相联、组相联和直接映像与全相联映像相比,组相联映像的优点是()。A.目录表小B.块冲突概率低C.命中率高D.主存利用率高衡量机器性能的唯一固定而且可靠的标准是()。A.MIPSB.MFLOPSC.基准测试D.真正执行程序的时间“数据表示”的含义是()。A.表示数据

7、所采用的数制和码制B.数据类型C.浮点数的表示方式D.硬件能直接识别的数据类型RISC计算机中寄存器堆的作用是()。A.减少运算过程中对内存储器的访问B.减少过程切换时参数保存和传递所花费的时间C.减少对内存容量的要求D.加快运算器的运算速度对于计算机系统结构而言,以下()是透明的。A.指令系统B.中断响应C.大规模集成电路D.虚拟存储系统在顺序流动和异步流动流水线都可能出现的数相关是()。A.“先写后读”数相关B.“先读后写”数相关C.“写写”数相关D.“读读”数相关作为存储系统的主要性能参数是()。A.存取时间、存储器容量、每字节成本B.存取时间、存储器容量、传输单位C.传输单位、传输带宽

8、、存取时间D.系统层次、传输带宽、每字节成本用于评价向量流水线建立时间对向量处理机性能影响的参数是()。A.最大性能值B.半性能向量长度C.向量长度临界值D.向量指令处理时间二填空.在多级立方体互连网络中,如果开关模块采用级控制方式,则该网络称为交换网络;如果开关模块采用部分级控制方式,则该网络称为_移数.网络;如果开关模块采用单元控制方式,则该网络称为_间接二进制n方体网络。P264.计算机系统结构设计的任务是进行软、硬件功能分配,确定传统机器级的软、硬件界面;计算机组成指的是计算机系统结构的逻辑实现;计算机实现则指的是计算机组成的物理实现。P4.一个时钟周期内能够同时发射多条指令的处理机称

9、为_超标量处理机一一个周期内能够分时发射多条指令的处理机称为超流水线处理机。.在向量处理机的T生能参数中,_Ro_常用于评价峰值性能,而_Ts_用于评价向量流水线建立时间对性能的影响。.我们将问题中具有可以同时进行运算或操作的特性,称为并行性,并行性包括两重含义:同时性和并发性。.假设一条指令的解释分为取指、分析和执行3步,每步的执行时间均为2,如果顺序执行100条指令,所花费的时间为t;如果仅“执行k”与“取指k+1”重叠,执行100条指令所花费的时间为t取指+100t分析+99maxt取指,t执行+t执行。.Cache存储系统的主要目的是_提高存储系统的速度_,虚拟存储系统的主要目的是提高

10、主存储器的存取速度。.RISC的含义是精简指令集计算机,CISC的含义是复杂指令集计算机。.一个向量流水运算的结果寄存器正好是下一个向量流水运算源寄存器,这种向量运算采用的技术是而一个向量流水运算的源寄存器同时又是它的结果寄存器,这种向量运算采用的技术是。.在计算机系统中,能够使用的数据类型很多,我们将由计算机硬件直接识别和引用的数据类型称为数据表示,将由计算机软件才能识别和引用的数据类型称为数据Z构。.组相联方式中,主存的组到Cache的组之间采用直接映象方式,而两个对应组内部的块采用全相联映象方式。.连接。.引入数据表示的两条基本原则是:一要看系统的效率有否提高;二要看数据表示的通用性和利

11、用率是否高。.提高计算机系统并行性的主要技术途径有:时间重叠、资源重复和资源共享。三计算1.用一条4个功能段的浮点加法器流水线计算。每个功能段的延迟时间均相等,流水线的输出端和输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。要求用尽可能短的时间完成计算,要求:(1)列出进行加法的次序;(2)画出流水线时空图;(3)并计算流水线在此任务中的实际吞吐率、加速比和效率。四分析一台模型机共有7条指令,各指令的使用频率分别为35%25%20%10%5%3嗨口2%有8个通用数据寄存器,2个变址寄存器。(1)请设计该机操作码用哈夫曼编码的编码表,并计算所设计操作码的平均长度。(2)设计8位字长的寄存器

12、-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4条,变址范围不小于土127。请设计指令格式,并给出各字段的长度和操作码的编码。某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6位。(1)如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。(2)如果要求三类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。Zuo1.如有一个经解释实现的计算机,可以按功能划分成4级。每一级为了执行一条指令需要下一级的N条

13、指令解释。若执行第一级的一条指令需要Kns时间,那么执行第2、3、4级的一条指令各需要用多少时间?解:可以分情况进行讨论情况一执行第2级的一条指令需要NK纳秒,执行第3级的一条指令需要N2k纳秒,执行第4级的一条指令需要N3K纳秒。情况二执行第2级的一条指令需要K/N纳秒,执行第3级的一条指令需要K/N2纳秒,执行第4级的一条指令需要K/N3纳秒。.实现软件移植的主要途径有哪些?它们存在什么问题?适用于什么场合?答:采用系列机方法,只能在具有相同系统结构的各种机器之间实现软件移植,一般是一个厂家生产的机器。采用模拟与仿真的方法,可在不同系统结构的机器之间相互移植软件,对于使用频率较高的指令,尽

14、可能用仿真方法以提高运算速度,而对于使用频率低且难于用仿真实现的指令则用模拟方法来实现。采用统一的高级语言方法,可以解决结构相同或完全不同的各种机器上的软件移植,但是,要统一高级语言,语言的标准化很重要,但难以在短期内解决。3.想在系列中发展一种新型号机器,你认为下列哪些设想是可以考虑的,哪些则是行不通的?为什么?新增加字符数据类型和若干条字符处理指令,以支持事务处理程序的编译。为增强中断处理功能,将中断分析由原来的4级增加到5级,并重新调整中断响应的优先次序。在CPU和主存之间增设Cache存储器,以克服因主存访问速率过低而造成的系统性能瓶颈。为解决计算误差较大的问题,将机器中浮点数的下溢处

15、理方法由原来的包置“1”法,改为增设用只读存储器存放下溢处理结果的查表舍入法。为增加寻址灵活性和减少平均指令字长,将原来全部采用等长操作码的指令改成有3类不同码长的扩展操作码;并将源操作数寻址方式由原来的操作码指明改成增加一个如VAX-11那样的寻址方式位字段来指明。(6)将CPU与主存之间的数据通路宽度由16位扩展到32位,以加快主机内部信息的传送。为了减少使用公用总线的冲突,将单总线改为双总线。把原来的0号通用寄存器改作为专用的堆栈指示器。答:、不可以,其它都可以。不可以,对系列机可以增加新功能,但是不能改变原来的功能。不可以,改变了指令的格式和功能。不可以,0号通用寄存器变成堆栈指示器,

16、0号通用寄存器不能用了。4.如果某一计算任务用向量方式求解比用标量方式求解要快20倍,称可用向量方式求解部分所花费时间占总时间的百分比为可向量化百分比。请画出加速比与可向量化百分比两者关系的曲线加速比Sn与可向量化百分比Fe两者之间的关系式为:Sn(1 -Fe)FeSe120(1 - Fe) Fe/20 20 - 19Fe比速加35.0030.0025.0020.0015.0010.005.000.000.000.100.200.300.400.500.600.700.800.901.00Fe-可向量化百分比在40MHZ的处理机上运行200000条指令的程序,它由四种指令组成。根据程序跟踪实验

17、结果,已知指令混合比和每种指令所需的时钟周期数如下:指令类型CPI指令混合比算术和逻辑160%高速缓存命中的加载/存储218%转移412%高速存储缺失的存储器访问810% TOC o 1-5 h z 计算在单处理机上用上述跟踪数据运行程序的平均CPI根据所得的CPI,计算相应的MIPS速率。答:.nI.40 1062.24 10617.86CPI=(CPIiL)=10.620.1840.1280.1=2.24yIC时钟频率MIPS:6CPI106在SUNSPARC2工作站上,对SPECBenchmark进行测试,获得了如下所示的速率值,求出其算术、几何及调和平均值(以MFLOPS表示)。程序名

18、码(MFLOPS)GCC10.7Espress08.9Spice2g68.3DODUC5.0NASA78.7Li9.0Eqntott9.7Matrix30011.1FPPPP7.8TOMCATV5.6算术平均为:1=一父(10.7+8.9+8.3+5.0+8.7+9.0+9.7+11.1+7.8+5.6)=8.48MFLOPS几何平均为:10Gm=nnRi=1$10.7M8.98.3M5M8.7M9M9.7M11.1M7.8M5.618.247MFLOPSi=1调和平均为:Hm101Ri1111111111一 + + + + + + + + :7.985MFLOPS10.7 8.9 8.3 5

19、 8.7 9 9.7 11.17.8 5.6Zuo2.数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统时,确定数据表示的原则主要有哪几个?答:略.假设有A和B两种不同类型的处理机,A处理机中的数据不带标志位,其指令字长和数据字长均为32位。B处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在A处理机和B处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?我们可以计

20、算出数据的总数量:程序有1000条指令组成,且每条指令平均要访问两个操作数.程序访问的数据总数为:1000X2=2000个每个数据平均访问8次.程序访问的不同数据个数为:2000+8=250对于A处理机,所用的存储空间的大小为:MemA=MeminstructionMemdata=10003225032=40000bit对于B处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:MemB=MeminstructionMemdata=10003025036=39000bit由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会

21、增加总的存储空间大小。3.一个处理机共有10条指令,各指令在程序中出现的概率如下表:指令序号出现的概率2/8犷展编码法3/7扩展罪码注h0,25h0.20h0.15k0,10Zj0.0840.08It005h0.04h0.03002操作码的平均长度操作码的信息冗余量(1)采用最优Huffman编码法(信息嫡)计算这10条指令的操作码最短平均长度。(2)采用Huffman编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法(信息嫡)相比的操作码信息冗余量。将得到的操作码编码和计算的结果填入上面的表中。(3)采用2/8扩展编码法编写这10条指令的操作码,并计算操作

22、码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余量。把得到的操作码编码和计算的结果填入上面的表中。(4)采用3/7扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余量。把得到的操作码编码和计算的结果填入上面的表中。采用最优Huffman编码法(信息嫡)的操作码最短平均长度为:nH=pilogPi2.957i1指令序号出现的概率Huffman编码法2/8扩展编码法3/7扩展编码法I10.25000000I20.20100101I3040.10110100111000I50.08011010101

23、1001I60.081110101111010I70.051111110011011I80.0401110110111100I90.03011110111011101I100.02011111111111110操作码的平均长度2.993.13.2操作码的信息冗余量1.1%4.6%7.6%4.一台模型机共有7条指令,各指令的使用频度分别是35%、25%、20%、10%、5%、3%、2%,有8个通用数据寄存器,2个变址寄存器。(1)要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。(2)设计8位字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4

24、条,变址范围不小于正、负127。请设计指令格式,并给出各字段的长度和操作码的编码。要使得到的操作码长度最短,应采用Huffman编码,Huffman树构造如下:由此可以得到7条指0.350.250.20.10.050.030.02令的编码分别如下:1.0指令号出现的频率编码135%00225%01320%10410%110I55%111063%1111072%11111这样,Huffman编码法得到的操作码的平均长度为:l=2和.35+0.25+0.20)+30.1(X+40.05+5(便03+0.02)=1.6+0.3+0.2+0.25=2.35设计8位字长的寄存器-寄存器型指令如下:因为只

25、有8个通用寄存器,所以寄存器地址需3位,操作码只有两位,设计格式如下:233操作码OP源寄存器R1目的寄存器R2三条指令的操作码分别为00、01、10。设计16位字长的寄存器-存储器型变址寻址方式指令如下:操作码OP通用寄存器变址寄存器偏移地址185.四条指令的操作码分别为1100、1101、111R1111某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6位。(1)如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。(2)如果要求三类指令的比例大致为1:9:9,问双地址

26、指令、单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。双地址指令格式为:466操作码地址码1地址码2单地址指令格式为:106操作码地址码零地址指令格式为:16操作码双地址指令15条,需要4位操作码来区分;单地址指令可以使用10-4=6位操作码来区分;零地址指令可以使用16-10=6位操作码来区分。这样,各类型指令的条数为:双地址指令15条,操作码为:00001110;单地址指令26-1=63条,操作码为:11110000001111111110零地址指令26=64条,操作码为:11111111110000001111111111111111假设双地址指令x条,则单地址、零地址分别

27、为9x条:(24-x)26-9x26=9x解之即得:x=14双地址指令14条,操作码为:00001101;留出两个编码用于扩展。单地址指令(26-1)X2=126条,操作码为:11100000001110111110,11110000001111111110零地址指令126条,操作码为:11101111110000001110111111111110,1111111110000001111111111111110Zuo41.假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是t、2At和3Ato在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。顺序执行方

28、式。仅“取指令”和“执行”重叠。“取指令”、“分析”和“执行”重叠。答:顺序执行方式 TOC o 1-5 h z 121212 HYPERLINK l bookmark2 o Current Document IIIIIt2At3AtnT=工(t取址i+t分析i+t执行i)=ngt+2zt+3zt)=6nAi1仅“取指令”和“执行”重叠 TOC o 1-5 h z 121212 HYPERLINK l bookmark4 o Current Document IIII一t2At3Atn-1T=6At+Z(t分析i+t执行i)=6A+(n-1)(2At+3At)=(5n+1)Ati1n-1T=6

29、At+Z(t执行i)=64t+(n-1)(3At)=(3n+3)Ati1.一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为t。开始5个任务,每间隔一个t向流水线输入一个任务,然后停顿2个at,如此重复。求流水线的实际吞吐率、加速比和效率。我们可以看出,在(7n+1) At的时间内,可以输出5n个结果,如果指令的序列足够长(n-oo),并且指令间不存在相关,那么,吞吐率可以认为满足:5nT P = = = 一 (n ;:)(7n 1). =t(7 1/n).:t 7:t加速比为:c 5n 4:t 20nS 二二20(7n 1”t 7n 17 1/n从上面的时空图很容易看出,效率为

30、:_ 5n 4:tE 二5n4 (7n 1):t7n 1 7 1/n=An,二)710.用一条5个功能段的浮点加法器流水线计算F=Ai。每个功能段的延迟时间均相等,流水线的i1输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。要求用尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。答:首先需要考虑的是“10个数的和最少需要做几次加法?,我们可以发现,加法的次数是不能减少的:9次;于是我们要尽可能快的完成任务,就只有考虑如何让流水线尽可能充满,这需要消除前后指令之间的相关。由于加法满足交换律和结合律,我们可以调整运算次序如以下的指令序列,我们把中间结果寄

31、存器称为R,源操作数寄存器称为A,最后结果寄存器称为F,并假设源操作数已经在寄存器中,则指令如下:I1:R1A1+A2I2:R2A3+A4I3:R3A5+A6:R4A7+A8:R5A9+A10计算机系统结构13R6-R1+R2R7-R3+R4R8-R5+R6I9:FR7+R8时空图如下(图中的数字是指令号)这并不是唯一可能的计算方法。假设功能段的延迟为At03TP = -921 .:t7:t0.43 Xt加速比为:效率为:9 5.:t21 :t152.142979 5 t5 21,t6A M B = Z ai M bi ,i=03=:0.4374.一条线性静态多功能流水线由6个功能段组成,加法

32、操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每个功能段的延迟时间均相等。流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。用这条流水线计算向量点积画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。答:我们安排运算次序如下:把中间结果寄存器称为R,源操作数寄存器称为A、B,最后结果寄存器称为F,并假设源操作数已经在寄存器中,则指令如下:I1:R0A0*B0I2:R1A1*B1I3:R2A2*B2I4:R3A3*B3R7R0+R1R8R2+R3R9R4+R5R10R6+R7I5:R4A4*B4R11R8+R9I6:R5A5*B5I7:R6A

33、6*B6FR10+R11时空图如下(图中的数字是指令号)假设功能段的延迟为At0123456789101112131415161718192021222324整个计算过程需要24At,所以吞吐率为:tp=B,.”424.:t:t加速比为:c74:t64:t130S二二2.1724,t效率为:E二生金;色:0.36624t365.一条有三个功能段的流水线如下图。每个功能段的延迟时间均相等,都为to其中功能段S2的输出要返回到它自己的输入端循环一次。输入Si输出如果每间隔一个t向流水线的输入端连续输入新任务,问这条流水线会发生什么情况?求这条流水线能够正常工作的最大吞吐率、加速比和效率。有什么办法

34、能够提高这条流水线的吞吐率,画出新的流水线。如果每间隔一个t向流水线的输入端连续输入新任务,流水线S2功能段存在资源冲突。见下表:时间功能段t1t2t3t4t5S1X1X2X3X4X5S2X1X1,X2X2,X3X3,X4S3X1X2n个结果,如果指令的序列足够长(每间隔两个t向流水线的输入端连续输入新任务(如见下表所示)可获得最佳性能时间功育於、t1t2t3t4t5t6S1X1X2X3S2X1X1X2X2X3S3X1X2我们可以看出:在(2n+2)At的时间内,可以输出并且指令间不存在相关,那么,吞吐率为:TP =n(2n 2):t1二(2 2/n).:t 2=t二)加速比为:n4:t2n2

35、一S=2(n二)(2n2)tn111/n效率为:q(n,3 3/n3二)_n4t2nE二二3(2n2)t3n3如要提高这条流水线的吞吐率,可采用:将功能段S2重复设置一次,见下图: t t t t6.一条有4个功能段的非线性流水线,每个功能段的延迟时间都相等,都为20ns,它的预约表如下:寸问流水1234567SiXxS2xxS3xS4xx1,7(C0-C1-C0)43,7(C0-C2-C0)55,7(C0-C3-C0)63,5,7(C0-C2-C3-C0)53,5(C0-C2-C3-C2-C3)45,3,7(C0-C3-C2-C0)55,3(C0-C3-C2-C3-C2)45(C0-C3-C

36、3)57(C0-C0)7流水线的最小启动循环为:(1,7)或(3,5)或(5,3),最小平均启动距离为4写出流水线的禁止向量和初始冲突向量。 画出调度流水线的状态图。求流水线的最小启动循环和最小平均启动距离。 求平均启动距离最小的恒定循环。求流水线的最大吞吐率。 按照最小启动循环连续输入10个任务,求流水线的实际吞吐率 画出该流水线各功能段之间的连接图。答:禁止向量F= (6,4,2);冲突向量 C= (101010)。由上表可知:平均启动距离最小的恒定循环为(5)采用最小平均启动距离为4的最小启动循环可获得流水线的最大吞吐率,以(1,7)为例:(其他类似,最大吞吐率皆相同)当任务数为偶数2n

37、时:2n7 :t n . :t (n -1) 7 :t2n8n.:t4:t当任务数为奇数2n+1时:TP2n 1_ 2n 17tt n tt n 78nt 7t2 1/n8:t 7.:t/nL(n; .,.:)4:t.一,、,11,一流水线的最大吞吐率为:=12.5M(任务/s)4:t420nsTP10=1/4At=12.5M(任务/s)。(6)10个任务的实际吞吐率:利用上式可得(偶数个任务)该流水线的连接图为:输入输出2 S2 _S3 F S4 51747.一条由4个功能段组成的非线性流水线的预约表如下,每个功能段的延迟时间都为10nso问流123456S1XXS2XXS3XS4XX写出流

38、水线的禁止向量和初始冲突向量。画出调度流水线的状态图。求流水线的最小启动循环和最小平均启动距离。在流水线中插入一个非计算延迟功能段后,求该流水线的最佳启动循环及其最小平均启动距离。画出插入一个非计算延迟功能段后的流水线预约表(5行8歹I)。画出插入一个非计算延迟功能段后的流水线状态变换图。分别计算在插入一个非计算延迟功能段前、后的最大吞吐率。如果连续输入10个任务,分别计算在插入一个非计算延迟功能段前、后的实际吞吐率。禁止向量F=(5,2,1);冲突向量C=(10011)。最小启动循环为(3),最小平均启动距离为3。插入一个非计算延迟功能段后,最小平均启动距离为2(因为预约表中每行至多 改进最

39、小启动循环为(2)。(6)流水线的禁止向量为(1,3, 流水线的状态图如下:7),流水线的冲突向量为1000101,2,4(C0-C1)32,6(C0-C1)42(C0-C1-C1)24(C0-C0)46(C0-C0)65(C0-C2-C2)55,4(C0-C2)4.55,6(C0-C2)5.5流水线的最小启动循环为(2),最小平均启动距离为2插入前:TPmax =limn :6. :t(n -1) 3 :t 3 :t3 10ns期3.33乂107 (任务数/s)插入后:T PmaxUm 6. :t(n -1) 2 t2:t 2 10ns= 5107(任务数 /s)连续输入10个任务,插入前的

40、实际吞吐率为:TP=10=0-=-10-%3.03父107(任务数/s)6t93t33t3310ns连续输入10个任务,插入后的实际吞吐率为:TP:-二-0-二一3.85107(任务数/s)8:t92426.t2610ns.在流水线处理机中,有独立的加法操作部件和乘法操作部件各一个,加法操作部件为4段流水线,乘法操彳部件6段流水线,都在第一段从通用寄存器读操作数,在最后一段把运算结果写到通用寄存器中。每段的时间长度都相等,都是一个时钟周期。每个时钟周期发出一条指令。问可能发生哪几种数据相关?写出发生相关的指令序列,分析相关发生的原因,并给出解决相关的具体办法。答:可能的数据相关性有:“先写后读

41、”(RAW)相关ReadAfter加法写。原因:还没有写好就已经读取寄存器中的数据了。DADDR1,R2,R3;(R2)+(R3)(R1)DSUBR4,R1,R5;(R1)(R5)(R4)ReadAfter乘法写。原因:还没有写好已经读取寄存器中的数据了。DMULR1,R2,R3;(R2)乂(R3)(R1)DSUBR4,R1,R5;(R1)(R5)(R4)本相关在流水线顺序执行和乱序执行时都可能发生。解决的方法是:利用编译程序调整指令的次序方法;延迟执行是避免数据相关最简单的方法;建立寄存器之间的专用路径。“写一写(WAW)相关WriteAfter乘法写。原因:后写的反而早执行(乘法所化的时间

42、长,后面一个写任务反而先完成)使最后写入的内容不正确。DMULR1,R2,R3;(R2)乂(R3)(R1)DSUBR1,R4,R5;(R4)(R5)(R1)本相关只有在流水线乱序执行时才可能发生。解决的方法是:寄存器换名。“先读后写”(WAR)相关WriteAfter任何读。原因:前面的读操作因为某种原因被推迟,要读的内容被后面的写操作修改了。DSUBR4,R1,R5;(R1)(R5)(R4)DADDR1,R2,R3;(R2)+(R3)(R1)本相关只有在流水线乱序执行时才可能发生。解决的方法是:寄存器换名。.在下列不同结构的处理机上运行8X8的矩阵乘法C=AXB,计算所需要的最短时间。只计算

43、乘法指令和加法指令的执行时间,不计算取操作数、数据传送和程序控制等指令的执行时间。加法部件和乘法部件的延迟时间都是3个时钟周期,另外,加法指令和乘法指令还要经过一个“取指令”和“指令译码”的时钟周期,每个时钟周期为20ns,C的初始值为“0”。各操作部件的输出端有直接数据通路连接到有关操作部件的输入端,在操作部件的输出端设置有足够容量的缓冲寄存器。处理机内只有一个通用操作部件,采用顺序方式执行指令。单流水线标量处理机,有一条两个功能的静态流水线,流水线每个功能段的延迟时间均为一个时钟周期,加法操作和乘法操作各经过3个功能段。多操作部件处理机,处理机内有独立的乘法部件和加法部件,两个操作部件可以

44、并行工作。只有一个指令流水线,操作部件不采用流水线结构。单流水线标量处理机,处理机内有两条独立的操作流水线,流水线每个功能段的延迟时间均为一个时钟周期。超标量处理机,每个时钟周期同时发射一条乘法指令和一条加法指令,处理机内有两条独立的操作流水线,流水线的每个功能段的延迟时间均为一个时钟周期。要完成上面的矩阵乘法,需要完成的乘法数目为8X8X8=512次;需要完成的加法数目为8X8X7=448次;下面分析处理机的结构会给性能带来什么样的影响。通用操作部件采用顺序方式执行顺序执行时,每个乘法和加法指令都需要5个时钟周期(取指令、指令分析、指令执行);所以所需要的时间为:T二(512448)520n

45、s=96000ns=96s单流水线标量处理机,有一条两个功能的静态流水线因为有足够的缓冲寄存器,所以我们可以首先把所有的乘法计算完,并通过调度使加法流水线不出现停顿,所以所需要的时间为:译码,取指12 3 41 2 3 4,1 2 3 4,1 2 3 4,1 2 3 4,123456785135145155165175189639649659661=+、2=1铉、3=2短、4=3+-、5=4喳、6=5+0、7=6+T国2(3512-1)(3448-1)20ns=19.32s多操作部件处理机,只有一条指令流水线由于只有一条指令流水线,所以只能一个时钟周期发射一条指令;由于操作部件不采用流水线,对

46、于结果C矩阵的第一个元素,首先执行2次乘法,然后乘法和加法并行执行7次,此时C矩阵的第一个元素出来了,然后加法运算停顿3个时钟周期,再开始与乘法并行执行运算7次,如此下去,直到C的64个元素都出来。故执行时间为:T习2(3237)63(337)20ns=30820ns=30.82/s单流水线标量处理机,处理机内有两条独立的操作流水线由于只有一条指令流水线,所以只能一个时钟周期发射一条指令;对于乘法运算不存在数据相关,对于加法运算有数据相关,由于存在足够的缓冲寄存器,我们可以通过合适的调度消除加法的数据相关因此,最佳情况下的执行时间为:加加3I1234567法力口 2力口 1乘3 乘乘2 法乘1

47、译码取指1 2 3 4 5 6 7 I II ! II III II II II II II I II II II I ,&1 2 3 4 5 6 7,1 2 3 4 5 6 7,123456789 10 11 12 13 14 15 16 17 18 19 20 21 221= +、2=1铉、3=2+-、4=3短、5=4喳、6=50、7=6+T =2 3 (512 448) - 1 20ns = 19280ns = 19.28s超标量处理机同一时钟周期可以有一条乘法指令和一条加法指令同时发射,对于乘法运算不存在数据相关性,对于加法运算有数据相关性,由于存在足够的缓冲寄存器,当运算完所有的乘法

48、运算后,还要做一次加法运算。因此执行时间为:345,加加加法法译码123456789101112131415161718192021221=+、2=1铉、3=2+、4=3+、5=4喳、6=5+0、7=6+T习23(512-1)320ns=10380ns=10.38sZuo5.向量流水机的工作方式可分为哪两大类?它们的主要特点是什么?答:向量流水机的工作方式可分为存储器-存储器方式和寄存器-寄存器方式两种。存储器-存储器方式是采用多个存储模块,采用交叉存取的方式解决对存储器带宽要求高的问题。寄存器-寄存器方式是在向量流水线和存储器之间加入向量寄存器组及多种、多级缓冲寄存器组作为存放源操作数、结果

49、操作数、预取、后写而用。也能解决对存储器带宽要求高的问题。.向量的加工方法有哪几种?各有什么特点?试从加工速度、需用中间变量等方面加以比较答:向量的加工方法有三种:横向加工,纵向加工和纵横向加工。加工速度中间结果适合向量运算横向加工慢存储器否纵向加工较快存储器是纵横向加工快寄存器是.在CRAY1机上,V为向量寄存器,设向量长度均为32,s为标量寄存器,所用浮点功能执行部件的执行时间分别为:加法需6拍,相乘需7拍,从存储器读数需6拍,求倒数近似值需14拍,打入寄存器及启动功能部件(包括寄存器)各需1拍。问下列各指令组中的哪些指令可以链接?哪些指令可以并行执行?试说明其原因并分别计算出各指令组全部完成所需的拍数。Vg存储器V1-V2+V3V什 V5*V6Vg存储器A V1+V2什 V0*V3A V4+V5Vg存储器V1-V2+V3V什 V5*V6s0s1+s2V3存储器 7r2- V0+V1V什 V2*V3存储器V4V2- V0*V1V3存储器V什 V2+V3V4存储器V11/V0VA V1+V2V* V3*V4V3存储器V2 V0+V1s0-s2+s3VA V1*V4V4存储器2 V0+V1A V2*V15 V3*V4要决定指令是否能够并行,主要看指令之间是否存在功能部件的使用冲突,是否存在操作数寄存器的使用冲突。而指令是否能够进行链接(Chaining),主要看指令之间是否存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论