习题课目录1计算机系统结构的基本概念2指令系统3存储系统返回总目录4输入输出系统5标量处理机7互连网络●基本要求:1)计算机系统结构的基本概念,定量原理,指令的格式设计,CISC与RISC,虚拟存储页面替换算法,Cache映象,通道流量分析,数据相关,线性与非线性流水线技术及性能分析,互连网络基本概念;●学习重点:1)定量原理,指令格式设计,RISC,页面替换算法,Cache映象,流水线性能分析;1计算机系统结构的基本概念1.1名词解释返回目录1.计算机体系结构的定义:程序员所看到的计算机的属性,即概念性结构与功能特性。Amdahl提出的体系结构:是指传统机器级的体系结构。即一般所说的机器语言程序员所看到的传统机器级所具有的属性。2.透明性在计算机技术中,对这种本来是存在的事物或属性,但从某种角度看又好象不存在。3.大概率事件优先原则:即对于大概率事件(最常见事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。4.Amdahl定律:加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。5.程序的局部性原理:程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚包括指令和数据两部分。程序局部性包括程序的时间局部性和空间局部性。①时间局部性:程序即将用到的信息很可能就是目前正在使用的信息②空间局部性:程序即将用到的信息很可能与目前正在使用的信息相邻或临近。1计算机系统结构的基本概念1.1名词解释6.系统加速比:系统改进前与改进后总执行时间之比7.CPI:指令周期数(CyclesofInstruction)8.并行性:在同一时刻或同一时间间隔内完成两种或两种以上的性质相同或不同的工作。9.翻译:先把N+1级程序全部变换成N级程序之后,再去执行N级程序,在执行过程中,N+1级程序不再被访问(基于层次结构)10.解释:每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级指令,依此重复进行。1计算机系统结构的基本概念1.1名词解释例:设某程序中FP操作占20%,其平均CPI=4.0,FPSQR操作的比例占4%,其平均CPI=20.0,其它指令平均CPI=1.20,现采用两种方法进行优化:a.将FP操作的CPI减为2;b.将FPSQR操作的CPI减少为12;问1:哪一种方法更优?问2:若同时采用a、b方法,系统的加速比为多少?1计算机系统结构的基本概念1.2问1解:比较2方案的CPI即可CPIa=(1-20%-4%)×CPI其他+(20%×CPIFP)+(4%×CPIFPSQR)=76%×1.20+20%×2+4%×20=2.11CPIb=(1-20%-4%)×CPI其他+(20%×CPIFP)+(4%×CPIFPSQR)=76%×1.20+20%×4+4%×12=2.3所以,采用方法a更优。1计算机系统结构的基本概念1.2问2解:加速比:4.112%42%2020.1%7620%44%2020.1%76%4%20%)4%201(%4%20%)4%201()()()()()()(ICICURFPQSPFFPQSRFPCPICPICPICPICPICPICPICPICPICPICPCPUS其它其它新原时钟周期长新时钟周期长原新时间原时间1计算机系统结构的基本概念1.2例:假设我们考虑条件分支指令的两种不同设计方法如下:(1)CPUA:通过比较指令设置条件码,然后测试条件码进行分支(2)CPUB:在分支指令中包括比较过程在两种CPU中,条件分支指令都占用2个时钟周期而所有其它指令占用1个时钟周期,对于CPUA,执行的指令中分支指令占20%;由于每个分支指令之前都需要有比较指令,因此比较指令也占20%。由于CPUB在分支时需要比较,因此假设它的时钟周期时间是CPUA的1.25倍。问1:哪一个CPU更快?1计算机系统结构的基本概念1.3我们不考虑所有系统问题,所以可用CPU性能公式。占用2个时钟周期的分支指令占总指令的20%,剩下的指令占用1个时钟周期。所以CPIA=20%2+80%1=1.2则CPU性能为:总CPU时间A=ICA1.2时钟周期A解1:1计算机系统结构的基本概念1.3根据假设,有:时钟周期B=1.25时钟周期A在CPUB中没有独立的比较指令,所以CPUB的程序量为CPUA的80%,分支指令的比例为:20%/80%=25%这些分支指令占用2个时钟周期,而剩下的75%的指令占用1个时钟周期,因此:CPIB=0.252+0.751=1.25因为CPUB不执行比较,故:ICB=0.8ICA解1:1计算机系统结构的基本概念1.3因此CPUB性能为:总CPU时间B=ICBCPIB时钟周期B=0.8ICA1.25(1.25时钟周期A)=1.25ICA时钟周期A在这些假设之下,尽管CPUB执行指令条数较少,CPUA因为有着更短的时钟周期,所以比CPUB快。解1:1计算机系统结构的基本概念1.3例:我们分析一个用于Web服务器系统的处理器的性能。假定采用某增强方式使新的CPU处理Web服务器应用程序的运行速度是原来处理器中的10倍,同时假定此CPU有40%的时间用于计算,另外60%的时间用于I/O操作。那么增强性能后总的加速比是多少?解:增强比例=0.4增强加速比=10总加速比=10.6+0.410=0.64=1.5611计算机系统结构的基本概念1.4例:设某计算机系统执行程序中,可向量化部分最大可达70%。一种实现方法是采用陈列多处理机即硬件方式实现,使60%的向量化指令执行速度加快到原来的10倍,另一种方法是采用优化编译系统的方法实现,使向量化程序可达70%,且速度可增加3倍。请比较这两种方案哪种更优。解:通过计算加速比知,硬件方案较优!53.013/7.0%)701(146.0110/6.0%)601(1编译硬件SS1计算机系统结构的基本概念1.5Assumeasimpleload/storemachinewiththefollowinginstructionfrequency:InstructiontypeFrequencyCyclesLoads25%2Stores15%2Branches20%2ALU40%1conditionalbranchescurrentlyusesimpletestagainst0Shouldweaddcomplexcomparison/branchcombination(BEQRn,Rm,LOCorBNERn,Rm,LOC)----25%ofbranchescanusethecomplexschemeandsave(节省了)theprecedingALUinstruction----TheCPUcycletime(CCT)ofthemachinehastobe10%longer----WillthisincreaseCPUperformance?1计算机系统结构的基本概念1.61计算机系统结构的基本概念1.6使用40MHz时钟速率的处理机执行一个测试程序,它的主要指令类型所执行的指令数及所需的时钟周期数如下,试计算执行此程序的有效CPI,MIPS速率及总的CPU时间。(p33习题1.19)指令类型指令数时钟周期数整数算术450001数据传送320002浮点150002控制转移800021计算机系统结构的基本概念1.7p33习题1.19总时钟周期数=45000*1+32000*2+15000*2+8000*2=155000总指令数=45000+32000+15000+8000=100000CPI=总时钟周期数/总指令数=1.55总CPU执行时间=155000/40*10-6=0.003875sMIPS=总指令数*10-6/总时间=0.1/0.003875=25.81计算机系统结构的基本概念1.7p33习题1.191计算机系统结构的基本概念1.8p33习题1.20某工作站采用时钟频率为15MHz,处理速率为10MIPS的处理机来执行一个已知混合程序。假定每次存储器存取为1周期延迟,试问:(1)此计算机的有效CPI是多少?(2)时钟提高到30MHz,但存储器子系统速率不变。这样,每次存储器存取需要2个时钟周期。如果30%指令每条只需要1次存储存取,而另外5%每条需要2次存储存取,还假定已知混合程序的指令数不变,并与原工作站兼容,试求改进后的处理机性能。1计算机系统结构的基本概念1.8p33习题1.20解:(1)设该程序执行时间为t,则CPI=总时钟周期数/总指令数=(t*15M)/(t*10M)=1.5(2)公式:CPUtime=IC*CPI*CCT即有:CPUtime=指令数*指令周期数*cpu周期时间1计算机系统结构的基本概念1.8p33习题1.201计算机系统结构的基本概念1.9p34习题1.2124.21.0812.0418.026.01CPI86.171024.2104010666CPIfMIPS解:2指令系统2.1名词解释1.CISC:复杂指令集计算机(ComplexInstructionSetComputer)。强化指令功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统来实现,基于这种指令集结构而设计实现的计算机系统称为CISC计算机。2.RISC:精简指令集计算机(ReducedInstructionSetComputer)。尽量简化指令功能,只保留那些功能简单,能在一个周期内执行完成的指令,较复杂的功能用一段子程序来实现,这种计算机系统称为RISC计算机。返回目录2指令系统2.2简答1.RISC的关键技术有哪些?①延时转移技术②指令取消技术③重叠寄存器窗口技术④指令流调整技术⑤硬件为主,固件为辅2指令系统2.3例:某计算机有10条指令,它们的使用频率分别为0.30,0.20,0.16,0.09,0.08,0.07,0.04,0.03,0.02,0.01(1)用霍夫曼编码对它们的操作码进行编码,并计算平均代码长度。(2)用扩展霍夫曼编码法对操作码进行编码,限两种操作码长度,并计算平均代码长度。2指令系统2.30.151.000.390.190.100.060.030.310.610.010.020.030.040.070.080.090.160.200.30答:(1)霍夫曼树如下:2指令系统2.3霍夫曼编码的结果以及各编码的长度如下所示:0.300.200.160.090.080.070.040.030.020.01110110100110011000000100001000001000002233444566平均代码长度为(0.30+0.20)×2+(0.16+0.09)×3+(0.08+0.07+0.04)×4+0.03×5+(0.02+0.01)×6=1+0.75+0.76+0.15+0.18=2.842指令系统2.3(2)用扩展霍夫曼编码法对操作码进行编码,限两种操作码长度,采用长度为2和长度为4两种编码:0.300.200.160.090.080.070.040.030.020.01000110001001101010111100110111101111平均代码长度为(0.30+0.20)×2+(1-0.30-0.20)×4=3.02指令系统2.4P127页习题2.13出现的概率Huffman编码2/8扩展码3/7扩展码0.251000000.200001010.151101000100.100101001110000.0801111010110010.0811101011110100.0501101100110110.04111101101111000.031111111110111010.02111110111111110解:2指令系统2.4P127页习题2.13解:出现的概率