1、计算机系统结构作业题解作作1.21.2 如如有有一一个个经经解解释释实实现现的的计计算算机机,可可以以按按功功能能划划分分成成4 4级级。每每一一级级为为了了执执行行一一条条指指令令需需要要下下一一级级的的N N条条指指令令解解释释。若若执执行行第第一一级级的的一一条条指指令令需需K(ns)K(ns)时时间间,那那么么执执行行第第2 2、3 3、4 4级级的的一一条指令各需要用多少时间条指令各需要用多少时间(ns)?(ns)?第第1章章解:解:第二级的一条指令需第第二级的一条指令需第1级的级的N条指令解释条指令解释第二级的一条指令执行时间为第二级的一条指令执行时间为NKns;第三级的一条指令执
2、行时间为第三级的一条指令执行时间为N2Kns;第四级的一条指令执行时间为第四级的一条指令执行时间为N3Kns。本题有两个问题应特别注意:第一个问题是本题有两个问题应特别注意:第一个问题是“上上一级一级”与与“下一级下一级”的关系,即哪是上一级,哪的关系,即哪是上一级,哪是下一级?在图是下一级?在图1.1中第中第3级是第级是第2级的级的“上一级上一级”,第,第1级又是第级又是第2级的级的“下一级下一级”。第二个问题是。第二个问题是该计算机是一个该计算机是一个“经解释实现的计算机经解释实现的计算机”,上一,上一级的程序在下一级上实现不是经翻译完成,只能级的程序在下一级上实现不是经翻译完成,只能是解
3、释。是解释。第第1级级N3条指令解释条指令解释第第2级级N2条指令解释条指令解释第第3级级N条指令解释条指令解释第第4级级一条指令一条指令上级上级下级下级作作1.31.3 有一个计算机系统可按功能划分成有一个计算机系统可按功能划分成4 4级,各级的级,各级的指令都不相同,每一级的指令都比其下一圾的指令在指令都不相同,每一级的指令都比其下一圾的指令在效能上强效能上强M M倍,即第倍,即第i i级的一条指令能完成第级的一条指令能完成第i-1i-1级的级的M M条指令的计算量。现若需第条指令的计算量。现若需第i i级的级的N N条指令解释第条指令解释第i+1i+1级级的一条指令,而有一段第的一条指令
4、而有一段第1 1级的程序需要运行级的程序需要运行KsKs,问在,问在第第2 2、3 3和和4 4级上的一段等效程序各需要运行多长时间级上的一段等效程序各需要运行多长时间(s)?(s)?解:解:第第2级上的一段等效程序运行时间为:级上的一段等效程序运行时间为:第第3级上的一段等效程序运行时间为:级上的一段等效程序运行时间为:第第4级上的一段等效程序运行时间为:级上的一段等效程序运行时间为:作作1.7从机器(汇编)语言程序员看,哪些对应用从机器(汇编)语言程序员看,哪些对应用程序员透明?程序员透明?指令地址寄存器,指令缓冲器,时标发生器,条指令地址寄存器,指令缓冲器,时标发生器,条件码寄存器,乘
5、法器,主存地址寄存器,磁盘外件码寄存器,乘法器,主存地址寄存器,磁盘外设,先行进位链,移位器,通用寄存器,中断字设,先行进位链,移位器,通用寄存器,中断字寄存器。寄存器。答:对机器语言程序员透明,指的是这些器件是答:对机器语言程序员透明,指的是这些器件是机器语言程序员不可修改、不可控制。因此机器语言程序员不可修改、不可控制。因此指令指令缓冲器,时标发生器,乘法器,先行进位链,移缓冲器,时标发生器,乘法器,先行进位链,移位器。位器。作作1.61.6 什么是透明性概念什么是透明性概念?对计算机系统结构,下列对计算机系统结构,下列哪些是透明的哪些是透明的?哪些是不透明的哪些是不透明的?存贮器的模存贮
6、器的模m m交叉存取;浮点数据表示;交叉存取;浮点数据表示;I IO O系统系统是采用通道方式还是外围处理机方式;数据总线宽度;是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型字符行运算指令;阵列运算部件;通道是采用结合型的还是独立型的;的还是独立型的;PDPPDP一一1l1l系列中的单总线结构;访系列中的单总线结构;访问方式保护;程序性中断;串行、重叠还是流水控制问方式保护;程序性中断;串行、重叠还是流水控制方式;堆栈指令;存贮嚣最小编址单位;方式;堆栈指令;存贮嚣最小编址单位;CacheCache存贮存贮器。器。分析:有关系统结构属性所包括的内
7、容,对系统结构分析:有关系统结构属性所包括的内容,对系统结构都不透明。都不透明。对于计算机系统结构透明的是:存储器的模对于计算机系统结构透明的是:存储器的模m交交叉存取、数据总线宽度、阵列运算部件、通道是叉存取、数据总线宽度、阵列运算部件、通道是采用结合型还是独立型、采用结合型还是独立型、PDP-11系列的单总线结系列的单总线结构、串行、重叠还是流水控制方式、构、串行、重叠还是流水控制方式、Cache存储存储器。器。对于计算机系统结构不透明的是:浮点数据表示、对于计算机系统结构不透明的是:浮点数据表示、I/O系统是采用通道方式还是外围处理机方式、字系统是采用通道方式还是外围处理机方式、字符型运
8、算指令、访问方式保护、程序性中断、堆符型运算指令、访问方式保护、程序性中断、堆栈指令、存储器最小编址单位。栈指令、存储器最小编址单位。例例1.1 假设将某系统的某一部件的处理速度加假设将某系统的某一部件的处理速度加快到快到10倍,但该部件的原处理时间仅为整个倍,但该部件的原处理时间仅为整个运行时间的运行时间的40%,则采用加快措施后能使整,则采用加快措施后能使整个系统的性能提高多少?个系统的性能提高多少?解:解:由题意可知由题意可知fe=0.4,re=10,根据根据Amdahl定律定律作作1.13假假设设高高速速缓缓存存Cache工工作作速速度度为为主主存存的的5倍倍,且且Cache被被访访问
9、问命命中中的的概概率率为为90,则则采采用用Cache后后,能能使使整整个个存存储储系系统统获获得得多多高高的加速比?的加速比?解:解:fe=0.9,re=5作作1.111.11 某工作站采用时钟频率为某工作站采用时钟频率为15MHz15MHz、处理速率为、处理速率为10MIPS10MIPS的处理机来执行一个巳知混合程序。假定每次的处理机来执行一个巳知混合程序。假定每次存储器存取为存储器存取为1 1周期延迟、试问:周期延迟、试问:(1)(1)此计算机的有效此计算机的有效CPICPI是多少是多少?(2)(2)假定将处理机的时钟提高到假定将处理机的时钟提高到30MHz30MHz,但存储器子,但存储
10、器子 系统速率不变。这样,每次存储器存取需要两个时钟系统速率不变。这样,每次存储器存取需要两个时钟 周期。如果周期。如果3030指令每条只需要一次存储存取,而另指令每条只需要一次存储存取,而另 外外5 5每条需要两次存储存取,还假定已知混合程序每条需要两次存储存取,还假定已知混合程序 的指令数不变,并与原工作站兼容,试求改进后的处的指令数不变,并与原工作站兼容,试求改进后的处 理机性能。理机性能。解解(1)(2)依题意可知:依题意可知:30%的指令需要一次存储存取,则的指令需要一次存储存取,则这些指令在处理器提高时钟频率之后需要增加这些指令在处理器提高时钟频率之后需要增加1个时个时钟周期;另外
11、钟周期;另外5%的指令需要增加的指令需要增加2个时钟周期。个时钟周期。改进后性能提高情况可用改进后性能提高情况可用CPU时间之比表示:时间之比表示:作作1.15假定利用增加向量模块来提高计算机的运假定利用增加向量模块来提高计算机的运算速度。计算机处理向量的速度比其通常的运算算速度。计算机处理向量的速度比其通常的运算要快要快20倍,将可用向量处理部分所花费的时间占倍,将可用向量处理部分所花费的时间占总时间的百分比称为可向量化百分比。总时间的百分比称为可向量化百分比。(1)求出加速比)求出加速比S和向量化百分比之间的关系式。和向量化百分比之间的关系式。(2)当要得到加速比为)当要得到加速比为2时的
12、可向量化百分比时的可向量化百分比F为为多少?多少?(3)为了获得在向量模式所得到的最大加速比的)为了获得在向量模式所得到的最大加速比的一半,可向量化百分比一半,可向量化百分比F为多少?为多少?(2)(2)由(由(1 1)式有)式有解(1):由Amdahl定律知(1)(3)由题意可知题题1.1 某计算机系统同时采用两种措施改进性能,某计算机系统同时采用两种措施改进性能,使得两个功能部件的性能分别提高到原来的使得两个功能部件的性能分别提高到原来的re1倍和倍和re2,这两个部件在运行时使用的时间比例,这两个部件在运行时使用的时间比例分别为分别为fe1和和fe2。试分析系统性能提高的总体加。试分析系
13、统性能提高的总体加速比。速比。解解:l例例1.21.2 用用一一台台4OMHz4OMHz处处理理机机执执行行标标准准测测试试程程序序,它它含含的的混混合合指指令令数数和和相相应应所所需需的的时时钟钟周周期期数数如如下:下:l指令类型指令类型 指令条数 时钟周期数时钟周期数l整数运算整数运算 4500045000 1l数据传送数据传送 32000 232000 2l浮点运算浮点运算 15000 215000 2l控制传送控制传送 8000 28000 2l求有效求有效CPICPI、MIPSMIPS速率和程序的执行时间。速率和程序的执行时间。l解:依题意可知 IN=105条,n=4题题1.21.2
14、 设设有有两两台台机机器器A A和和B B,对对条条件件转转移移采采用用不不同同的的方方法法。CPUCPUA A采采用用比比较较指指令令和和条条件件转转移移指指令令处处理理方方法法,若若条条件件转转移移指指令令占占总总执执行行指指令令数数的的2020,比比较较指指令令也也占占2020。CPUCPUB B采采用用比比较较和和条条件件转转移移指指令令合合一一的的方方法法,占占执执行行指指令令数数的的2020。若若规规定定两两台台机机器器执执行行条条件件转转移移指指令令需需2T2T,其其它它指指令令需需1T1T。CPUCPUB B的的条条件件转转移移指指令令比比CPUCPUA A慢慢2525,现比较
15、现比较CPUCPUA合和合和CPUCPUB B哪个工作速度更快?哪个工作速度更快?解解:CPIA=0.220.811.2CPUA时间时间ICACPIATA1.2TAICAICA是是CPUA的指令条数,由于的指令条数,由于CPUB无比较指令,无比较指令,因此因此ICB=0.8ICA,若,若ICA=100,则,则ICB=80,而,而CPUB的条件转移指令仍是的条件转移指令仍是20条,所以占比例为条,所以占比例为20/800.2525CPIB=0.2520.7511.25又因为又因为CPUB的的TB比比CPUA的的TA慢慢25%,所以,所以TB=1.25TACPUB=ICBCPIBTB0.8ICA1
16、251.25TA1.25TAICA可见,可见,CPUA时间时间CPUB时间,时间,CPUA比比CPUB工作工作速度快。速度快。解:解:上例中,上例中,TB只比只比TA慢慢10%,则哪个,则哪个CPU更快些?更快些?TB1.1TACPUB时间时间0.8ICA1.251.1TA1.1TAICA因此因此CPUB时间时间CPUA时间,则时间,则CPUB更快些。更快些。题题1.3 某向量计算机系统中,标量指令的平均某向量计算机系统中,标量指令的平均CPI是是1,向量运算指令的平均,向量运算指令的平均CPI是是64,系统,系统加快向量部件的速度后使向量运算速度提高到加快向量部件的速度后使向量运算速度提高
17、到原来的原来的2倍,某一测试程序执行时的向量运算指倍,某一测试程序执行时的向量运算指令数量占全部指令数的令数量占全部指令数的10,问计算机系统运,问计算机系统运行这个测试程序的整体性能比原来提高多少?行这个测试程序的整体性能比原来提高多少?解:解:作作1.121.12 假设在一台假设在一台40MHz40MHz处理机上运行处理机上运行200 000200 000条条指令的目标代码,程序主要由四种指令组成。根据指令的目标代码,程序主要由四种指令组成。根据程序跟踪实验结果,已知指令混合比和每种指令所程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下:需的指令数如下:指令类型指令类型CPI指令
18、混合百分比指令混合百分比算术和逻辑运算算术和逻辑运算160%CacheCache命中的加载命中的加载/存储存储218%转移转移412%CacheCache失效时访问主存失效时访问主存810%(1)(1)计算在单处理机上用上述踪数据运行程序的平均计算在单处理机上用上述踪数据运行程序的平均CPICPI。(2)(2)根据根据(1)(1)所得所得CPICPI,计算相应的,计算相应的MIPS MIPS 速率。速率。l解:依题意可知 IN=2105条,n=4,第第2章章题题2.1 2.1 一种浮点数有一种浮点数有1位符号位,阶码为位符号位,阶码为7位移码,位移码,尾数尾数8位与符号位一起采用原码的规格化表
19、示,基位与符号位一起采用原码的规格化表示,基数为数为2,该浮点数可表示的最大数为,该浮点数可表示的最大数为,最大数,最大数与最接近它的数据(次最大数)的差值为与最接近它的数据(次最大数)的差值为,可,可表示的最小数为表示的最小数为,最小数与最接近它的正数,最小数与最接近它的正数(次最小数)的差值为(次最小数)的差值为。解:解:最大数最大数最小正数最小正数最大数与次大数的差值最大数与次大数的差值最小正数与次小正数的差值最小正数与次小正数的差值解:解:阶码为阶码为7位移码表示,位移码表示,1位符号位,尾数位符号位,尾数8位,位,原码规格化表示,基数为原码规格化表示,基数为2,其格式为:,其格式为:
20、尾数基值尾数基值rm2(二进制)(二进制)阶码的基值阶码的基值re2,尾数长度尾数长度p=8(不包括符号位),阶码长度不包括符号位),阶码长度q=6(不不包括符号位),包括符号位),规格化表示的正数的范围:规格化表示的正数的范围:浮点数浮点数N 15 0阶码阶码6位位qp尾尾符符尾数尾数8位位阶阶符符可表示的最小正浮点数为可表示的最小正浮点数为可表示的最大正浮点数为可表示的最大正浮点数为最大尾数为最大尾数为最大阶码为最大阶码为最小阶码为最小阶码为最小尾数为最小尾数为规格化表示的正数的范围:规格化表示的正数的范围:可表示的正阶、正尾规格化数的个数为可表示的正阶、正尾规格化数的个数为可表示的最小负
21、浮点数为可表示的最小负浮点数为可表示的最大负浮点数为可表示的最大负浮点数为最大尾数为最大尾数为最大阶码为最大阶码为最小阶码为最小阶码为最小尾数(原码)为最小尾数(原码)为规格化表示的负数的范围:规格化表示的负数的范围:10000001110.090.300.601.000.1510.0610.030.030.040.050.150.300.40 I7I6I5I4I3I2I1I7I6I5I4I3I2I1例例例例2.12.12.12.1 某指令系统各指令使用频度如下:某指令系统各指令使用频度如下:某指令系统各指令使用频度如下:某指令系统各指令使用频度如下:I1 I2 I3 I4 I5 I6 I7
22、I1 I2 I3 I4 I5 I6 I7 I1 I2 I3 I4 I5 I6 I7 I1 I2 I3 I4 I5 I6 I7 0.4 0.3 0.15 0.05 0.04 0.03 0.03 0.4 0.3 0.15 0.05 0.04 0.03 0.03 0.4 0.3 0.15 0.05 0.04 0.03 0.03 0.4 0.3 0.15 0.05 0.04 0.03 0.031.Huffman1.Huffman1.Huffman1.Huffman编码编码编码编码由此可得到哈夫曼编码如下:由此可得到哈夫曼编码如下:I1:0 I2:10 I3:110 I4:11100 I1:0 I2:1
23、0 I3:110 I4:11100 I5:11101 I6:11110 I7:11111 I5:11101 I6:11110 I7:11111 平均码长平均码长L L=0.4*1+0.3*2+0.15*3+0.05*5+0.04*5=0.4*1+0.3*2+0.15*3+0.05*5+0.04*5+0.03*5+0.03*5=2.20+0.03*5+0.03*5=2.20位位 信息冗余量信息冗余量R=(2.20-2.17)/2.20=1.36%R=(2.20-2.17)/2.20=1.36%指令长度个数指令长度个数=4=42.2.扩展哈夫曼编码扩展哈夫曼编码I1,I2,I3 I1,I2,I3
24、用两位用两位:00,01,10:00,01,10I4,I5,I6,I7 I4,I5,I6,I7 用四位用四位:1100,1101,1110,:1100,1101,1110,11111111L L=(0.4+0.3+0.15)*2+(0.05+0.04+0.03+0.03)*4=(0.4+0.3+0.15)*2+(0.05+0.04+0.03+0.03)*4=2.30=2.30位位信息冗余量信息冗余量=(2.302.20)/2.30=0.0565=5.65%=(2.302.20)/2.30=0.0565=5.65%41 1 1 151 1 1 1 10.03I741 1 1 051 1 1 1
25、00.03I641 1 0 151 1 1 0 10.04I541 1 0 051 1 1 0 00.05I421 031 1 00.15I320 1 2 1 00.30I220 0100.40I1OP长度长度lihuffman扩展编扩展编码码OP长长度度li操作码操作码OP使用哈夫曼使用哈夫曼编码编码 频频 度度(Pi)指指 令令操作码的扩展(等长扩展)操作码的扩展(等长扩展)操作码的扩展(等长扩展)操作码的扩展(等长扩展)平均码长:2.2 2.3例例2.22.2 指令系统共有指令系统共有4242种指令,前种指令,前1515种使用频率平均种使用频率平均为为0.050.05,中间,中间1313
26、种使用频率平均为种使用频率平均为0.0150.015,最后,最后1414种种使用频率平均为使用频率平均为0.0040.004。如何编码?。如何编码?00000000 :1515种种111011101111 00001111 0000 :1515种种1111 11101111 11101111 1111 00001111 1111 0000 :1515种种1111 1111 11101111 1111 1110解:解:因频率分布有三种,故因频率分布有三种,故码长可有三种;码长可有三种;因每段指令数基本相同,因每段指令数基本相同,故可采用故可采用等长扩展等长扩展(4-8-12(4-8-12位位),
27、保留特征码的每段指令保留特征码的每段指令数相同数相同(15-15-15)(15-15-15)方法。结方法。结果如图所示;果如图所示;结果:采用结果:采用15-15-1515-15-15扩展方法,最后一种编码用于扩展方法,最后一种编码用于扩展,每段扩展,每段0000000011101110用于编码,用于编码,11111111用于扩展。用于扩展。例例2.32.3 指令系统共有指令系统共有7474种指令,前种指令,前4 4种使用频率平均种使用频率平均为为0.120.12,中间,中间1515种使用频率平均为种使用频率平均为0.020.02,最后,最后5555种使种使用频率平均为用频率平均为0.0040
28、004。如何编码?。如何编码?解:解:同上例方法,同上例方法,码长可有三种;码长可有三种;因每段指令数成比例因每段指令数成比例(1(1:4)4),故可采用,故可采用等长等长扩展方法扩展方法(3-6-9(3-6-9位位)扩展扩展,保留标志位方法,结果保留标志位方法,结果如图所示;如图所示;结果:采用结果:采用4-16-64扩展方法,编码第一位用于扩展,扩展方法,编码第一位用于扩展,每段每段0XX用于编码,用于编码,1XX用于扩展。用于扩展。0 xx 40 xx 4种种1xx 0 xx 161xx 0 xx 16种种1xx 1xx 0 xx 641xx 1xx 0 xx 64种种 4-16-64
29、 4-16-64平均码长平均码长 =0.12*4*3+0.02*15*6+0.004*55*9=5.22=0.12*4*3+0.02*15*6+0.004*55*9=5.22;例例2.4 2.4 指令系统共有指令系统共有7878种指令,前种指令,前1010种使用频率平种使用频率平均为均为0.0490.049,中间,中间1818种使用频率平均为种使用频率平均为0.020.02,最后,最后5050种使用频率平均为种使用频率平均为0.0030.003。如何编码?。如何编码?解:解:同上例方法,码长可有三种;因每段指令数比同上例方法,码长可有三种;因每段指令数比例为例为1 1:2 2:5 5,故不可采
30、用等长扩展,采用不等长编,故不可采用等长扩展,采用不等长编码码(4-6-10(4-6-10位位)较能减少平均码长。较能减少平均码长。00000000 :1010种种100110011010 001010 00 :2020种种1110 111110 111111 00 00001111 00 0000 :6464种种1111 11 11111111 11 1111 第一种采用第一种采用4 4位编码中前位编码中前1010种种(00001001)(00001001);第二种采用第一种频率编第二种采用第一种频率编码中的后码中的后5 5种编码种编码(10101110)(10101110)与扩展的与扩展的
31、2 2位共位共2020种编码;种编码;第三种采用第一种频率编第三种采用第一种频率编码中的最后一种码中的最后一种(1111)(1111)与扩与扩展的展的6 6位共位共6464种编码。种编码。作作2.3 设设某某机机阶阶码码6位位、尾尾数数48位位,阶阶符符和和数数符符不不在在其其内内,当当尾尾数数分分别别以以2、8、16为为基基时时,在在非非负负阶阶、正正尾尾数数、规规格格化化数数情情况况下下,求求出出其其最最小小阶阶、最最大大阶阶、阶阶的的个个数数、最最小小尾尾数数值值、最最大大尾尾数数值值、可可表表示的最小值和最大值及可表示的规格化数的总个数示的最小值和最大值及可表示的规格化数的总个数 解:
32、解:p=6、m=48时,在非负阶、规格化、正时,在非负阶、规格化、正尾数情况下,尾基尾数情况下,尾基rm=2、8、16时的各个参时的各个参数的计算结果如下表所示。数的计算结果如下表所示。非负阶、正尾数、规格非负阶、正尾数、规格化化尾基尾基r rm m(p=6(p=6位,位,m=48m=48位位)2(482(48位位)8(168(16位位)16(1216(12位位)最小阶值最小阶值0 00 00 00 0最大阶值最大阶值2 2p p-1-1636363636363阶的个数阶的个数2 2p p646464646464尾数最小值尾数最小值1/21/21/81/81/161/16尾数最大值尾数最大值1
33、21-2-48-481-81-8-16-161-161-16-12-12最小值最小值1/21/21/81/81/161/16最大值最大值2 26363(1-2(1-2-48)-48)8 86363 (1-8(1-8-16-16)16166363 (1-16(1-16-12-12)数的个数数的个数2 253537 27 2515115 215 25050作作2.152.15 某模型机有某模型机有9 9条指令,其使用频率为:条指令,其使用频率为:ADDADD(加)(加)30%30%SUBSUB(减)(减)24%24%JOMJOM(按负转移)(按负转移)6%6%STOSTO(存)(存)7%7%JM
34、PJMP(转移)(转移)7%7%SHRSHR(右移)(右移)2%2%CILCIL(循环左移)(循环左移)3%3%CLACLA(清加)(清加)20%20%STPSTP(停机)(停机)1%1%要求有两种指令字长,都按双操作数指令格式编要求有两种指令字长,都按双操作数指令格式编,采用扩展操作码,并限制只能有两种操作码码长。设采用扩展操作码,并限制只能有两种操作码码长。设该机有若干个通用寄存器,主存为该机有若干个通用寄存器,主存为1616位宽,按字节编位宽,按字节编址,采用整数边界存贮,任何指令都在一个主存周期址,采用整数边界存贮,任何指令都在一个主存周期中取得,短指令为寄存器寄存器型,长指令为寄存中
35、取得,短指令为寄存器寄存器型,长指令为寄存器主存型,主存地址应能变址寻址。器主存型,主存地址应能变址寻址。解:解:(1)Huffman树的形式如图所示。树的形式如图所示。0.010.020.03010.030.06010.060.12010.070.070.14010.260100.300.200.240.44010.5610011l由上图可得到的由上图可得到的Huffman编码为:编码为:ADD(ADD(加加)30%01)30%01 SUB(SUB(减减)24%11)24%11 CLA(CLA(清加清加)20%10)20%10 JOM(JOM(按负转移按负转移)6%0001)6%0001 S
36、TO(STO(存存)7%0011)7%0011 JMP(JMP(转移转移)7%0010)7%0010 CIL(CIL(循环左移循环左移)3%00001)3%00001 SHR(SHR(右移右移)2%000001 )2%000001 STP(STP(停机停机)1%000000)1%000000因此,操作码的平均码长为:因此,操作码的平均码长为:l(2)采用采用2-5扩展的操作码编码为:扩展的操作码编码为:ADD(ADD(加加)30%00)30%00 SUB(SUB(减减)24%01)24%01 CLA(CLA(清加清加)20%10)20%10 JOM(JOM(按负转移按负转移)6%11000)6
37、11000 STO(STO(存存)7%11001)7%11001 JMP(JMP(转移转移)7%11010)7%11010 SHR(SHR(右移右移)2%11011 )2%11011 CIL(CIL(循环左移循环左移)3%11100)3%11100 STP(STP(停机停机)1%11101)1%11101因此,操作码的平均码长为:因此,操作码的平均码长为:(3)该机允许使用的可编址的通用寄存器个数为该机允许使用的可编址的通用寄存器个数为23=8个个(4)短指令为寄存器短指令为寄存器-寄存器型,格式如下:寄存器型,格式如下:OP(2位位)R1(3位位)R2(3位位)OP(5位位)R1(3位位)
38、X(2位位)相对位移相对位移d(6位位)(5)访主存操作数地址寻址的最大相对位移量访主存操作数地址寻址的最大相对位移量为为64个字节个字节(-32+31个字节个字节)长指令为寄存器长指令为寄存器-主存型,格式如下:主存型,格式如下:例例2.5若若某某机机要要求求有有:三三地地址址指指令令4条条,单单地地址址指指令令192条条,零零地地址址指指令令16条条。设设指指令令字字长长为为12位位,每每个个地地址址码码长长3位位。问问能能否否以以扩展操作码为其编码?扩展操作码为其编码?解:解:1.三种指令格式字如下:三种指令格式字如下:OPC A1 A2 A3 OPC A1 OPC 000 xxx xx
39、x xxx 011 xxx xxx xxx100 000 000 xxx 111 111 101 xxx111 111 110 000 111 111 111 111三地址4条一地址192条零地址16条3333三地址指令4条单地址指令192条零地址指令16条2.某机指令字长某机指令字长16位。设有单地址指令和双地位。设有单地址指令和双地址指令两类。若每个地址字段为址指令两类。若每个地址字段为6位,且双地位,且双地址指令有址指令有X条。问单地址指令最多可有多少条条。问单地址指令最多可有多少条?解:二种指令格式字如下:解:二种指令格式字如下:OPC A1 A2 OPC A1 10位 6位6位6位4
40、位由于双地址指令有由于双地址指令有X条,单地址指令最多可有:条,单地址指令最多可有:作作2.162.16 某处理机的指令字长为某处理机的指令字长为1616位,有双地址位,有双地址指令、单地址指令和零地址指令三类,并假设每指令、单地址指令和零地址指令三类,并假设每个地址字段的长度为个地址字段的长度为1616位。位。(1 1)如果双地址指令有)如果双地址指令有1515条,单地址和零地址条,单地址和零地址指令的条数基本相同,问单地址指令和零地址指指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。令各有多少条?并且为这三类指令分配操作码。(2 2)如果三类指令的比例为
41、如果三类指令的比例为1 1:9 9:9 9,问双地址,问双地址指令、单地址指令和零地址指令各有多少条?并指令、单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。且为这三类指令分配操作码。解解:(1 1)双地址指令)双地址指令1515条,地址码:条,地址码:0000000011101110单地址指令单地址指令2 26 61 16363条,地址码:条,地址码:1111 0000001111 000000 1111 111110 1111 111110零地址指令零地址指令6464条,地址码:条,地址码:1111 111111 0000001111 111111 000000 1111
42、111111 111111 1111 111111 111111(2 2)双地址指令)双地址指令1414条,地址码:条,地址码:0000000011011101单地址指令单地址指令2 26 6222 2126126条,条,1110 0000001110 000000 1111 111101 1111 111101 零地址指令零地址指令128128条,地址码:条,地址码:1111 111110 0000001111 111110 000000 1111 111111 111111 1111 111111 111111作作3.23.2 设一个任务在计算机中的处理时间为设一个任务在计算机中的处理时间
43、为5050秒,秒,CPUCPU处理时间为处理时间为3030秒,秒,I/OI/O处理时间为处理时间为2020秒。如果秒。如果将将CPUCPU的处理速度提高的处理速度提高4 4倍,则总的处理时间将是倍,则总的处理时间将是多少?多少?第第3章章解:解:如使如使CPUCPU的速度增加的速度增加4 4倍倍,则则CPUCPU的处理时间为的处理时间为:Tcpu=30/4=7.5sTcpu=30/4=7.5s则总的处理时间为则总的处理时间为:T=Tcpu+Ti/o=7.5+20=27.5s:T=Tcpu+Ti/o=7.5+20=27.5s题题3.1假设一台计算机的假设一台计算机的I/O处理占处理占10,当其,
44、当其CPU性能改性能改变,而变,而I/O性能保持不变,系统总体性能会出现什么变化性能保持不变,系统总体性能会出现什么变化?(1)如果)如果CPU的性能提高的性能提高10倍倍(2)如果)如果CPU的性能提高的性能提高100倍倍解:解:假设原来的程序执行时间为假设原来的程序执行时间为1个单位时间。如果个单位时间。如果CPU的性的性能提高能提高10倍,则程序的计算(包含倍,则程序的计算(包含I/O处理)时间为处理)时间为(110)/10+10%=0.19即整机性能只能提高约即整机性能只能提高约5倍,差不多有倍,差不多有50的的CPU性能浪费在性能浪费在I/O上。上。如果如果CPU的性能提高的性能提高
45、100倍,则程序的计算时间为倍,则程序的计算时间为(110)/100+10%=0.109而整机性能只能提高约而整机性能只能提高约10倍,表示有倍,表示有90的性能浪费在的性能浪费在I/O上上了。了。(1)(1)在上表中填出设备相应二次请求传送字节的间隔在上表中填出设备相应二次请求传送字节的间隔时间。时间。(2)(2)当所有设备同时要传送数据时,求其对通道要求当所有设备同时要传送数据时,求其对通道要求的总流量的总流量f fbytebyte设备号设备号1 12 23 34 45 56 6传送速率传送速率(B/ms)(B/ms)505050504040252525251010二次请求的二次请求的间隔
46、时间间隔时间(S)(S)例例3.1 3.1 某字节交叉多路通道连接某字节交叉多路通道连接6 6台设备,其数据台设备,其数据传送速率如下表所示。传送速率如下表所示。(3)(3)让通道以极限流量让通道以极限流量f fmax.bytemax.byte=f=fbytebyte的工作周期工的工作周期工作,通道的工作周期作,通道的工作周期(即即TS+TDTS+TD的时间间隔的时间间隔)是是多少?多少?(4)(4)让通道中所挂设备速率越高的数据传送请求被让通道中所挂设备速率越高的数据传送请求被响应的优先级越高。画出响应的优先级越高。画出6 6台设备同时发送请台设备同时发送请求到下次同时发送请求期间里,通道响
47、应和求到下次同时发送请求期间里,通道响应和处理完各设备请求时刻的示意图。哪个设备处理完各设备请求时刻的示意图。哪个设备丢失了信息?提出一种不丢失信息的解决办丢失了信息?提出一种不丢失信息的解决办法法。设备号设备号1 12 23 34 45 56 6传送速率传送速率(B/ms)(B/ms)505050504040252525251010二次请求的间隔二次请求的间隔时间时间(S)(S)220 02020252540404040100100解解:(1)(1)(2)(2)总容量总容量(3)(3)传送周期传送周期 T TS S+T+TD D=1ms/200B=5S=1ms/200B=5S1234566号
48、设备丢失了一次数据号设备丢失了一次数据20usl方法方法1:增加通道的最大流量增加通道的最大流量,保证连接在通道,保证连接在通道上的所有设备的数据传送请求能够及时得到通道上的所有设备的数据传送请求能够及时得到通道的响应的响应l方法方法2:动态改变设备的优先级动态改变设备的优先级l方法方法3:增加一定数量的数据缓冲器增加一定数量的数据缓冲器,特别是对,特别是对优先级比较低的设备优先级比较低的设备例例3.2印字机各占一个子通道,印字机各占一个子通道,0号打印机、号打印机、1号打印号打印机和机和0号光电输入机合用一个子通道。假定数据传送号光电输入机合用一个子通道。假定数据传送期内高速印字机每隔期内高
49、速印字机每隔25us发一个请求,低速打印机每发一个请求,低速打印机每隔隔150us发一个字节请求,光电输入机每隔发一个字节请求,光电输入机每隔800us发一发一个字节请求,则这个字节请求,则这5台设备要求通道的实际流量为多台设备要求通道的实际流量为多少?少?字节多路通道字节多路通道0子通道子通道2子通道子通道1子通道子通道0号高速号高速印字机印字机1号高速号高速印字机印字机0号打号打印机印机1号打号打印机印机0号光电号光电输入机输入机解:解:5台设备要求通道的数据流量为:台设备要求通道的数据流量为:可将该通道设计成可将该通道设计成0.1MB/s,即所设计的工作周期为:,即所设计的工作周期为:这
50、样各设备的请求就能及时得到响应和处理,不这样各设备的请求就能及时得到响应和处理,不会丢失信息。会丢失信息。0号印字机号印字机通道工作周期通道工作周期0us50us100us150us1号印字机号印字机0号打印机号打印机1号打印机号打印机0号光电机号光电机表示设备提出申请的时刻表示设备提出申请的时刻表示通道处理完设备申请的时刻表示通道处理完设备申请的时刻优先级次序:优先级次序:0号印字机、号印字机、1号印字机、号印字机、0号打印机、号打印机、1号打印机、号打印机、0号光电机号光电机例例3.3 3.3 设通道在数据传送期中,选择设备需设通道在数据传送期中,选择设备需4.9S4.9S,传送一个字节数






