1计算机系统结构(第2版)郑伟明汤志忠编著清华大学出版社习题解答21目录1.1第一章(P33)1.7-1.9(透明性概念),1.12-1.18(Amdahl定律),1.19、1.21、1.24(CPI/MIPS)1.2第二章(P124)2.3、2.5、2.6(浮点数性能),2.13、2.15(指令编码)1.3第三章(P202)3.3(存储层次性能),3.5(并行主存系统),3.15-3.15加1题(堆栈模拟),3.19中(3)(4)(6)(8)问(地址映象/替换算法--实存状况图)31.4第四章(P250)4.5(中断屏蔽字表/中断过程示意图),4.8(通道流量计算/通道时间图)1.5第五章(P343)5.9(流水线性能/时空图),5.15(2种调度算法)1.6第六章(P391)6.6(向量流水时间计算),6.10(Amdahl定律/MFLOPS)1.7第七章(P446)7.3、7.29(互连函数计算),7.6-7.14(互连网性质),7.4、7.5、7.26(多级网寻径算法),7.27(寻径/选播算法)41.8第八章(P498)8.12(SISD/SIMD算法)1.9第九章(P562)9.18(SISD/多功能部件/SIMD/MIMD算法)(注:每章可选1-2个主要知识点,每个知识点可只选1题。有下划线者为推荐的主要知识点。)52例,习题2.1第一章(P33)例1.1,p10假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知:Fe=0.4,Se=10,根据Amdahl定律SeFeFeTToSnn)1(156.164.01104.06.01nS6例1.2,p10采用哪种实现技术来求浮点数平方根FPSQR的操作对系统的性能影响较大。假设FPSQR操作占整个测试程序执行时间的20%。一种实现方法是采用FPSQR硬件,使FPSQR操作的速度加快到10倍。另一种实现方法是使所有浮点数据指令的速度加快,使FP指令的速度加快到2倍,还假设FP指令占整个执行时间的50%。请比较这两种设计方案。解:分别计算出这两种设计方案所能得到的加速比:SeFeFeTToSnn)1(1FeFPSQR=0.20,SeFPSQR=10FeFP=0.50,SeFP=233.175.0125.0)5.01(122.182.01102.0)2.01(1FPFPSQRSnSn7例1.3,p11如果FP操作的比例为25%,FP操作的平均CPI=4.0,其它指令的平均CPI为1.33,FPSQR操作的比例为2%,FPSQR的CPI为20。假设有两种设计方案,分别把FPSQR操作的CPI和所有FP操作的CPI减为2。试利用CPU性能公式比较这两种设计方案哪一个更好(只改变CPI而时钟频率和指令条数保持不变)。解:niiiICICPICPI1)(原系统的CPIFP=4.0,ICIFP=25%CPI2=1.33,ICI2=1-25%CPI原niiiICICPI1)(=CPIFPICIFP+CPI2ICI2=4.0×25%+1.33×75%8=2方案1(使FPSQR操作的CPI为2)系统CPI=CPI原-CPIFPSQR原ICIFPSQR+CPIFPSQR新ICIFPSQR=CPI原-ICIFPSQR(CPIFPSQR原-CPIFPSQR新)=2-2%×(20-2)=1.64方案2(提高所有FP指令的处理速度,使FPSQR操作的CPI为2)CPI=CPI原-CPIFP原ICIFP+CPIFP新ICIFP=CPI原-ICIFP(CPIFP原-CPIFP新)=2-25%×(4-2)=1.5我们也可以根据以下公式计算出方案2系统(同求CPI原)CPI=75%×1.33+25%×2=1.59显然,提高所有FP指令处理速度的方案要比提高FPSQR处理速度的方案要好。方案2的加速比性能没有采用改进措施前的采用改进措施后的性能加速比2方案原系统时间时间CPUCPUTToSnn2CPIICCPIIC方案原系统时钟周期时钟周期2CPICPI方案原系统=2/1.5=1.33例1.4假设两台机器的指令系统中,执行条件转移指令需2个时钟周期,而其它指令只需1个时钟周期。CPUA:采用一条比较指令来设置相应的条件码,由紧随其后的一条转移指令对此条件码进行10测试,以确定是否进行转移。显然实现一次条件转移要执行比较和测试两条指令。条件转移指令占总执行指令条数的20%。由于每条转移指令都需要一条比较指令,所以比较指令也将占20%。CPUB采用比较功能和判别是否实现转移功能合在一条指令的方法,这样实现一条件转移就只需一条指令就可以完成。由于CPUB在转移指令中包含了比较功能,因此它的时钟周期就比CPUA要慢25%。现在要问,采用不同转移指令方案的CPUA和CPUB,那个工作速度会更快些?解:CPIA=0.2×2+0.8×1=1.2TCPUA=ICA×1.2×tA=1.2ICA×tACPUB转移指令占20%÷80%=25%CPIB=0.25×2+0.75×1=1.25由于CPUB中没有比较指令,因此ICB=0.8×ICACPUB时钟周期就比CPUA要慢25%tB=1.25tATCPUB=ICB×CPIB×tB=0.8ICA×1.25×1.25tA11=1.25ICA×tATCPUATCPUB所以CPUA比CPUB运行得更快些。例1.5在例1.4中,如果CPUB的时钟周期只比CPUA的慢10%,那么哪一个CPU会工作得更快些?解:CPUB时钟周期就比CPUA要慢10%tB=1.10tATCPUB=ICB×CPIB×tB=0.8ICA×1.25×1.10tA=1.1ICA×tATCPUATCPUB所以CPUB比CPUA运行得更快些。12例1.A1计算PentiumII450(IPC=2)处理机的运算速度。解:由于PentiumII450处理机的IPC=2(或CPI=0.5)Fz=450MHz,MIPSPentiumII450=Fz×IPC=450MHz×2=900(MIPS)例1.A2我国最早研制的小型计算机DJS-130,定点16位,加法每秒50万次,但没有硬件乘法和除法指令,用软件实现乘法和除法,速度低100倍左右。求等效速度。解:定点等效速度为:661010CPIMIPS时钟频率执行时间指令条数等效指令速度()MIPS1/0.800.50.200.5/1000.02MIPS即每秒2万次,由于乘法和除法用软件实现,等效速度降低了25倍。13例1.A3假设在程序中浮点开平方操作FPSQR的比例为2%,它的CPI为100;其他浮点操作FP的比例为23%,它的CPI=4.0;其余75%指令的CPI=1.33,计算该处理机的等效CPI。如果FPSQR操作的CPI也为4.0,重新计算等效CPI。解:niiiICICPICPI1)(等效CPI=100´2%+4´23%+1.33´75%=3.92等效CPI2=4´25%+1.33´75%=2.001.1解释下列术语层次结构,计算机系统结构,计算机组成,计算机实现,透明性,由上而下设计,由下而上设计,由中间向两边设计,软件兼容,向上兼容,固件,系列机,兼容机,模拟,仿真,虚拟机,宿主机,指令流,数据流,单指令流单数据流,多指令流多数据流,Amdahl定律,CPI,MIPS,MFLOPS。141.2每一级为了执行一条指令需要下一级的N条指令解释,若执行第一级的一条指令需kns,那么执行第2级、第3级、第4级的指令需要多少时间?第1级1条1级指令kns第2级1条2级指令N条1级指令1·N·kns=Nkns第3级1条3级指令N条2级指令1·N·N·kns=N2kns第4级1条4级指令N条3级指令1·N·N·N·kns=N3kns1.4每一级指令能完成下一级的M条指令的工作量,且每一级指令需要下一级的N条指令解释,若执行第一级的一条指令需kns,那么执行第2级、第3级、第4级的等效程序需要多少时间?第1级1条1级指令kns第2级等效程序为1/M条2级指令需N/M条1级指令解释N/M·kns第3级等效程序为1/M/M条3级指令需NN/M/M条1级指令解释N2/M2ns第4级等效程序为1/M/M/M条4级指令需NNN/M/M/M条1级指令解释N3/M3ns1.6试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与相互影响。15系统结构、组成和实现是三个不同的概念,它们各自包含不同的内容,但又有紧密的关系。以存储系统为例,主存储器容量和寻址方式的确定属计算机系统结构,主存的速度应多高,在逻辑结构上采用什么措施属计算机组成,而主存的物理实现,如存储器采用什么样器件,逻辑电路设计和微组装技术则属计算机实现。1.7什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的?存贮器的模m交叉存取;透明(组成)浮点数据表示;不透明(系统结构)I/O系统是采用通道方式还是I/O处理机方式;不透明数据总线宽度;透明(组成)阵列运算部件;透明(组成)通道是采用结合型的还是独立型的;透明(组成)PDP-11系列中的单总线结构;不透明(系统结构)访问方式保护;不透明(系统结构)程序性中断;不透明(系统结构)串行、重叠还是流水控制方式;透明(组成)16堆栈指令;存贮最小编址单位;不透明(系统结构)Cache存贮器。透明(组成)(1)从指定角度来看,不必要了解的知识称为透明性概念。(2)见下表,“√”为透明性概念。1.8从机器(汇编)语言程序员看,以下哪些是透明的?指令地址寄存器;指令缓冲器;时标发生器;条件码寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。见下表,“√”为透明性概念模m交叉,√,浮点数据,×,P4通道与I/O处理机,×,P4总线宽度,√,阵列运算部件,×,结合型与独立型通道,√,单总线,√,访问保护,×,中断,×,指令控制方式,√,堆栈指令,×,最小编址单位,×,Cache存储器,√,171.9见下表,“√”表示都透明,“应”表示仅对应用程序员透明,“×”表示都不透明。1.12如果某一计算任务用向量方式求解比用标量方式求解要快20倍,称可用向量方式求解部分所花费时间占总的时间的百分比为可向量化百分比。请画出加速比与可向量化比例两者关系的曲线。解:可向量化百分比为Fe,Se=20,根据Amdahl定律SeFeFeTToSnn)1(1指令地址寄存器,×,指令缓冲器,√,时标发生器,√,条件码寄存器,×,乘法器,√,主存地址寄存器,√,磁盘,×,先行进位链,√,移位器,√,通用寄存器,×,中断字寄存器,×,数据通路宽度,√,虚拟存储器,应,Cache存储器,√,程序状态字,×,“启动I/O”指令,应,“执行”指令,×,指令缓冲寄存器,√,18将Se代入Amdahl定律得enFS201911Sn2010Fe11.13在题1.12中,为达到加速比2,可向量化的百分比应为多少?enFS201911=219则可向量化的百分比Fe=0.5261.14在题1.12中,为获得采用向量方式最大加速比的半值(即10)时,所需可向量化的百分比为多少。enFS201911=10则可向量化的百分比Fe=0.9471.15在题1.12中,如果某程序可向量化部分为70%,硬件设计组认为可以通过加大工程投资,使向量处理速度加倍来进一步增加性能;而编译程序编写组认为只需设法增加向量工作方式的百分比就同样可使性能得到相同的提高,问:此时需使可向量化成分再增加多少百分比就可实现。你认为上述硬、软件两种方法中,哪一种方法更好?(1)用硬件组方法,已知Se=2X20=40,Fe=0.7解出Sn=40/12.7≈3.149620(2)用软件组方法,已知Se=20,得到硬件组方法的相同性能Sn=40/12.7解出Fe=2