《计算机组成原理答案.pdf》由会员分享,可在线阅读,更多相关《计算机组成原理答案.pdf(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理答案1 .4 教材习题解答1.电子数字计算机和电子模拟计算机的区别在哪里?解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。2.冯?诺依曼计算机的特点是什么?其中最主要的一点是什么?解:冯?诺依曼计算机的特点如下:计 算 机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;计算机内部采用二进制来表示指令和数据;将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。第点是最主要的一点。3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?解:计算机的硬件应由运
2、算器、存储器、控制器、输入设备和输出设备五大基本部件组成。它们各自的功能是:输 入 设 备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。输 出 设 备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。存储器:用来存放程序和数据。运 算 器:对信息进行处理和运算。控 制 器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。4.什么叫总线?简述单总线结构的特点。解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。CP
3、U与主存、CPU与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU的干预。概 论第1早9 5.简单描述计算机的层次结构,说明各层次的主要特点。解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。第0级为硬件组成的实体。第1级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。第2级是传统机器级。这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。第3级是操作系统级。从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统
4、机器的延伸。第4级是汇编语言级。这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。第5级是高级语言级。这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。第6级是应用语言级。这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。6.计算机系统的主要技术指标有哪些?解:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存容量和运算速度等。机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。数据通路宽度是指数据总线一次所能并行传送信息的位数。主存容量是指主存储器所能存储的全部信息量。运算速度与机器的主频、执行什
5、么样的操作、主存本身的速度等许多因素有关。2.4 教材习题解答1.设机器数的字长8位(含 1 位符号位),分别写出下列各二进制数的原码、补码和反码:0,0,0.1 0 0 0,0.1 0 0 0,0.1111,-0.1 1 1 1,1 1 0 1,-1 1 0 1 o解:真 值 原 码 补 码 反 码0-00.1 0 0 0-0.10000.1 1 1 1-0.1 1 1 11 1 0 1-1 1 0 10 0 0 0 0 0 0 01 0 0 0 0 0 0 00.1 0 0 0 0 0 0 1 .1 0 0 0 0 0 00.1 1 1 1 0 0 01.1 1 1 1 0 0 00 0
6、0 0 1 1 0 11 0 0 0 1 1 0 10 0 0 0 0 0 0 00 0 0 0 0 0 0 00.1 0 0 0 0 0 0 1 .1 0 0 0 0 0 00.1 1 1 1 0 0 01.0 0 0 1 0 0 00 0 0 0 1 1 0 11 1 1 1 0 0 1 10 0 0 0 0 0 0 01 1 1 1 1 1 1 10.1 0 0 0 0 0 0 1 .0 1 1 1 1 1 10.1 1 1 1 0 0 01.0 0 0 0 1 1 10 0 0 0 1 1 0 11 1 1 1 0 0 1 02.写出下列各数的原码、补码和反码:71 6,41 6,11
7、 6,0,11 6,416,-71 6 o解:71 6=7 X 2-4=0.0 1 1 141 6 =4X2-4=0.0 1 0 011 6 =1 X 2-4=0.0 0 0 1数据的机器层次表示第2,zCzi早3 3真 值 原 码 补 码 反 码7 1 6 0.0 1 1 1 0.0 1 1 1 0.0 1 1 10.0 1 0 0 0.0 1 0 0 0.0 1 0 0 1 1 60 1 0.0 0 0 1 0.0 0 0 1 0 0.0 0 0 00 0 0.0000-0 1.0 0 0 0 0.0 0(1 1 1-1 1 6 1.0 0 0 1 1.1 1 1 1 1.4 1 6 10
8、 1 0 0 11 1 0 0 1.1 0 111.0 1 1 1 1.1 0 0 1 1.1 0 0 0 3数的原码表示,分别写出它们的补码表示:XI1 0 0,X2 原=1 .1 0 1 1 1 0解:XI 补=0.1 0 1 0 0,X2 补=11 O4.已知下列数的补码表示,分别写出它们的真值:0.1 0 1 0 0,X2 补=1 .1 0 1 1 1 O解:XI=0.1 0 1 0 0,X2=-0.0 15.设一个二进制小数X N 0,表示成X =0.a 14 a 5 a 6,其中 a l a 6 取“1”或“0”:(1)若要 X 1 2,ala 6要满足什么条件?(2 )若要 X
9、2 1 8,ala 6要满足什么条件?(3 )若要1 44 1 60.0 00.0 00 1.11 1 1 0-716.已知下列0.1 0.0 1 0 0X 1 补=0 0 1 oa 2 a 3 aN X 11 6,ala 6要满足什么条件?解:(1 )X 1 2的代码为:0.1 0 0 0 0 1 0.1 1 1 1 1 1。a 1 =1,a 2+a 3+a4+a 5+a 6=1。(2 )X 21 8的代码为:0.0 0 1 0 0 0 1 80.1 1 1 1 1 1 6 36 4a 1+a 2=0,a 3=1 或 a l=0,a 2=1 或a 1=1 o计算机组成原理教师用书3 4(3)
10、1 42 X 11 6的代码为:0.0 0 0 1 0 1 56 40.0 1 0 0 0 0 1 4a l+a2+a3=0,a 4=1,a 5+a 6=1 或a 1 +a 2=0,a 3=1 或 a2=1,a 1+a 3+a4+a5+a 6=0 o6.设 X原=1.a 1 a 2 a 3 a 4 a 5 a 6,(1)若要 X -1 2,ala 6要满足什么条件?(2 )若要一 1 8N X N 1 4,ala 6要满足什么条件?解:(1)X -1 2的代码为:1 .0 0 0 0 0 1 -16 41.0 1 1 1 1 1 -3 16 4a l=0,a2+a 3+a 4+a 5+a 6=
11、1 o(2 )-1 82 X 2 1 4的代码为:1.0 0 1 0 0 0-1 81.0 0 1 0 0 1-96 41.0 0 1 1 1 1 -1 56 41.0 1 0 0 0 0-1 4a 1+a 2=0,a 3=1 或 a2a 4+a 5+a 6=0。1,a 1+a 3+7.若上题中 X原改为 X补,结果如何?解:设 X补=1.a 1 a 2 a 3 a 4 a 5 a 6,(1 )X -1 2的代码为:数据的机器层次表示第23 5 1 .1 0 0 0 0 1 -3 16 41.1 1 1 1 1 1 -16 4a 11,a 2+a 3+a 4+a 5+a61(2 )-1 82
12、X2 1 4的代码为:1.1 1 0 0 0 0-1 41.1 1 0 0 0 1-1 56 41 .1 1 0 1 1 1 -96 41.1 1 1 0 0 0-1 8a 1?a 2=1,a 3=0 或 a l?a 2?a 3=1,a4+a 5+a 6=0。8.一个n位字长的二进制定点整数,其中1位为符号位,分别写出在补码和反码两种情况下:(1 )模数;(2)最大的正数;(3)最负的数;(4)符号位的权;(5 )-1的表示形式;(6)0的表示形式。解:项目补码反码模数 Mod 2 n Mod(2n-1 )最大的正数2 n 1 1 2 n 1 1最负的数一2 n 1 (2 n 1 1)符号位的
13、权2 n 1 2 n 1-1的表示形式1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0的表示形式 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 1 1 1 1 1 1 1 9.某机字长1 6位,问在下列几种情况下所能表示数值的范围:计算机组成原理教师用书3 6(1)无符号整数;(2 )用原码表示定点小数;(3 )用补码表示定点小数;(4)用原码表示定点整数;(5 )用补码表示定点整数。解:(1)O W X W (216-1 )(2 )-(1-2-1 5)WXW(1-2-1 5)(3 )1 W X W (1-2-1 5)(4 )-(215-1 )WXW(21
14、5-1 )(5 )215WXW(215-1 )1 0 .某机字长3 2位,试分别写出无符号整数和带符号整数(补码)的表示范围(用十进制 数 表 示)。解:无符号整数:O W X W (2 3 2 -1 )o补码:一231WXW(231-1 )o1 1 .某浮点数字长1 2位,其中阶符1位,阶码数值3位,数符1位,尾数数值7位,阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?解:最大正数=(1 2 7)X 2 2 3 1 =1 1 2 -7 )X 2 7 =1 2 7 o最小规格化正数=2-1 X 2 2 3=2 1X2-8 =2
15、-9 =15 1 2 o绝对值最大的负数=-1 X 2 2 3-1=-1 X 2 7=1 2 8 o1 2 .某浮点数字长1 6位,其中阶码部分6位(含1位 阶 符),移码表示,以2为底;尾数部分10位(含1位数符,位于尾数最高位),补码表示,规格化。分别写出下列各题的二进制代码与十进制真值。(1 )非零最小正数;(2 )最大正数;(3)绝对值最小负数;(4 )绝对值最大负数。解:(1 )非零最小正数:0 0 0 0 0 0 ,0 ,1 0 0 0 0 0 0 00;2-l X 2-2 5 =2-33o(2 )最大正数:1 1 1 1 1 1 ,0 ,1 1 1 1 1 1 1 1 1 ;(1
16、-2 -9 )X 2 2 5 -1 =(1 -2 -9 )X 23 1 o(3 )绝对值最小负数:0 0 0 0 0 0 ,1 ,0 1 1 1 1 1 1 11 ;-(2 -1 +2 -9 )X 2 -2 5 o(4 )绝对值最大负数:111111,1 ,0 0 0 0 0 0 0 00;-l X 2 2 5-l=-2 3 1 o1 3 .一浮点数,其阶码部分为p位,尾数部分为q位,各包含1位符号位,均用补码表示;尾数基数r =2 ,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?写数据的机器层次表示第2早3 7出表达式。解:上 限(最 大 正 数)=(1 -2 -(q -1 )X
17、 22 (p 1 )1 o下限(绝对值最大负数)=-1 X 2 2 (p -1 )-1 o最 小 正 数=2 (q 1 )X 2 2 (p 1 )o最小规格化正数=2 -1 X 2 -2 (p -1 )o1 4 .若上题尾数基数r =1 6,按上述要求写出表达式。解:上 限(最 大 正 数)=(1 -2 -(q -1 )X 16 2 (p 1 )1 o下限(绝对值最大负数)=-l X 1 6 2(p-l)-lo最 小 正 数=2 (q 1 )X 1 6 2 (p 1 )o最小规格化正数=1 6 1 X 1 6 2 (p 1 )o1 5 .某浮点数字长3 2位,格式如下。其中阶码部分8位,以2为
18、底,移码表示;尾数部分一共2 4位(含1位 数 符),补码表示。现有一浮点代码为(8 C 5 A 3 E 0 0 )1 6 ,试写出它所表示的十进制真值。0 7 8 93阶码数符尾数解:(8C5A3E00)16=1 0 0 0 1 1 0 0 0 1 0 1 10 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 O B ,0 .10110100011111 X 2 1 2 =(1 0 1 1 01000111.11)2=(2887.7 5)1 0 o1 6 .试 将(一0 .1 1 0 1 )2用I E E E短浮点数格式表示出来。解:0 .1 1 0 1 =1 .1 0
19、1 X 2 1。符号位=1 。阶码=1 2 7 -1 =1 2 6 o1 ,0 1 1 1 1 1 1 0 ,1010000000000000000 0 0 0 0 0结果=B F 500000Ho1 7 .将下列十进制数转换为I E E E短浮点数:(1 )2 8.7 5;(2 )6 2 4;(3 )-0.6 2 5;(4 )+0 .0 ;(5 )-1 0 0 0 .5 o解:(1)28.7 5 =1 1 1 0 0 .1 1 =1 .1 1 0 01 1 X 2 4 o符号位=0 o阶码=1 2 7 +4 =1 3 1 o0 ,1 0 0 0 0 0 1 1 ,11001100000000
20、00000 0 0 0 0 o计算机组成原理教师用书3 8 结果=41E60000Ho(2 )6 2 4 =1 0 0 1 1 1 0 0 0 0 =1 .0 0 1 1 1 0 00 0 X 2 9 o符号位=0。阶码=1 2 7 +9 =1 3 6。0 ,1 0 0 0 1 0 0 0 ,0011100000000000000 0 0 0 0 o结果=441C0000Ho(3)-0 .625=-0 .101=-1 .01 X 21 O符号位=1 O阶码=1 2 7 -1 =1 2 6 o1 ,0 1 1 1 1 1 1 0 ,0100000000000000000 0 0 0 0 O结果=
21、B F 200000Ho(4 )+0 .0 o结果=0000000 O H o(5 )-1 0 0 0 .5 =1 1 1 1 1 0 1 0 0 0 .1 =1 .11 1 1 0 1 0 0 0 1 X 2 9 o符号位=1 。阶码=1 2 7 +9 =1 3 6 o1 ,1 0 0 0 1 0 0 0 ,1111010001000000000 0 0 0 0 0结果=C 4 7 A 2 0 0 O H o1 8 .将下列I E E E短浮点数转换为十进制数:(1 )1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 00000000 00 0 0 0 0 0 0 ;(2 )0
22、 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 00000000 00 0 0 0 0 0 0 ;(3 )0 1 0 0 0 0 1 11 0 0 1 1 0 0 10 0 0 0 0 0 0 000 0 0 0 0 0 0(4 )0 1 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0(5 )0 1 0 0 0 0 0 10 0 1 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0(6 )0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0
23、 0 0 0 0 o解:(1)1 ,1 0 0 0 0 0 0 1,1 1 1 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0符号位=1 o阶码=1 2 91 2 72 o11 1 1 X 2 21 1 11 B7.5 o所以结果=7.5 o(2 )0,0 1 1 1 1 1 1 0 ,0 0 1 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0符号位=0。阶码=1 2 61 2 711.0 0 1 X210.1 0 0 1 B=05 6 2 5 o数据的机器层次表示第2早3 9所以,结果=0.5 6 2 5 o(3 )0,1 0 0 0
24、 0 1 1 1 ,0 0 1 1 0 0 1 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0符号位=0 O阶码=1 3 51 2 78 01.0 0 1 1 0 0 1 X 2 81 0 0 1 1 0 0 1 0B3 06 o所以,结果=3 0 6 o(4 )0,1 0 0 0 0 0 0 0,00 0 0 0 0 0 0 0 0 0 0 0 0000000000符号位=0 o阶码=1 2 8 -1 2 7 =1 o1.0 X 2 1 =1 O B =2o所以,结果=2 o(5 )0 ,10000010,0100000 0 0 0 0 0 0 00 00000000符号位=0
25、 o阶码=1 3 0 -1 2 7 =3 o1 .0 1 X 2 3 =1 0 1 0 B =1 0 o所以,结果=1 0 o(6 )0 ,00000000,00000000000000000000000阶码和尾数都等于全0 ,结果=0 o1 9 .对下列ASCH码进行译码:1 0 0 1 0 0 1 ,0 1 0 0 0 0 1 ,1 1 0 0 0 0 1 ,1 1 1 01 1 11 0 0 0 1 0 1 ,1 0 1 0 0 0 0 ,1 0 1 0 1 1 1 ,0 1 0 01 0 0解:以上 A S C I I 码分别为 I,!,a,w,E,P,W,$。2 0 .以下列形式表示
26、(5 3 8 2 )1 0 o(1)8 4 2 1 码;(3 )2 4 2 1 码;解:(1)1(4 )余3码;二进制数。(2 )0 1 0 1 0 0 11 0 0 0 0 0 1 0 o(2 )1 0 0 0 0 1 1 0 1 0 1 1 0(3 )1 0 1 1 0 0 111 1 1 0 01 0 10 1 0 o(4 )1 0 1 0 1 0 0 0 001 1 0 O2 1.填写下列代码的奇偶校验位,现设为奇校验:1 0 1 0 0 0 0 10 0 0 1 1 0 0 10 1 0 0 1 1 10解:3个代码的校验位分别是0,0,1计算机组成原理教师用书4 0 2 2.已知下
27、面数据块约定:横向校验、纵向校验均为奇校验,请指出至少有多少位出错。a 710a 6 a 5a 41a 3 a 2 a 1 a 0校验位1100001-0110110000000011100111 10-00-00101111 f 0校验位10101解:经检测a 7和a01 1 1列出错,所以至少有两位出错。2 3.求有效信息位为0 1解:D 1P 10P2P5 D8P2 P1=D 11 =1D7D61 0 1D51 1 0的海明校验码。P4 D4D3D2P3D2D4D5 D7011=D 11P3 1 :=D2I D30 D31P40P5=D5D61=D 1 0 D2D4D4D7D3D6D8D
28、8D5D7011 10D 6111100D8=0110所以,海明校验码=1 0 111 0 0 1 1 12 4.设计算机准备传送的信息是:1111,生成多项式是X 5+X2+算校验位,写出CRC码。1 0 01 o0 1 0 1 1 0 0 1 0 0 0 11,计解:生成多项式X 5+X2+1=1 0 0 1 0 1 o首先将准备传送的信息左移5位:1 0 1 0 1 1 0 0 1 0 0 0 1 11 1 0 0 0 0 0 o然后 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 4-1 0 0 10 1,余数=1 0 0 11 O所以,CRC 码=
29、1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 10011 o _、3.4 教材习题解答1.指令长度和机器字长有什么关系?半字长指令、单字长指令、双字长指令分别表示什么意思?解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。2.零地址指令的操作数来自哪里?一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操作数的一地址
30、指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。例如,前述零地址和一地址的加法指令。3.某机为定长指令字结构,指令长度1 6位;每个操作数的地址码 长 6位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令已有K 种,无操作数指令已有L种,问单操作数指令最多可能有多少种?上述三类指令各自允许的最大指令条数是多少?指令系统第3.zCzL早6 5 解:X=(24-K)2 6 k双操作数指令的最大指令数:单操作数指令的最大指令数:指令仅1条,为无操作数指令留出1个扩展窗口)。无操作数指令的最大指令数:1 2X 2 6-jL4 1 o5 X 2 6-1 (假设双
31、操作数2 1 6-2 1 2-2 6 o 其中 2为表示某条二地址指令占用的21编码数,2 6为表示某条单地址指令占用的编码数。此时双操作数和单操作数指令各仅有1条。4.设某机为定长指令字结构,指令长度1 2位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,18 0条单地址指令。解:4条三地址指令0 0 0 XXX YYY ZZZ0 1 1 XXX YYY ZZZ8条二地址指令1 0 0 0 0 0 XXX YYY1 0 0 1 1 1 XXX YYY1 8 0条单地址指令1 0 1 0 0 0 0 0 0 XXX1 1 1 1 1 0 0 1 1 X
32、XX5.指令格式同上题,能否构成:三地址指令4条,单地址指令2 5 5条,零地址指令6 4条?为什么?解:三地址指令4条0 0 0 XXX YYY ZZZ0 1 1 XXX YYY ZZZ单地址指令2 5 5条1 0 0 0 0 0 0 0 0 XXX1 1 1 1 1 1 1 1 0 YYY只能再扩展出零地址指令8条,所以不能构成这样的指令系统。6.指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?计算机组成原理教师用书6 6解:主存容量越大,所需的地址码位数就越长。对于相同容量来说,最小寻址单位越小,地址码的位数就越长。7.试比较间接寻址和寄存器间址。解:间接寻址方式的有效地
33、址在主存中,操作数也在主存中;寄存器间址方式的有效地址在寄存器中,操作数在主存中。所以间接寻址比较慢。8.试比较基址寻址和变址寻址。解:基址寻址和变址寻址在形成有效地址时所用的算法是相同的,但是它们两者实际上是有区别的。一般来说,变址寻址中变址寄存器提供修改量(可变的),而指令中提供基 准 值(固定的);基址寻址中基址寄存器提供基准值(固定的),而指令中提供位移量(可变的)。这两种寻址方式应用的场合也不同,变址寻址是面向用户的,用于访问字符串、向量和数组等成批数据;而基址寻址面向系统,主要用于逻辑地址和物理地址的变换,用以解决程序在主存中的再定位和扩大寻址空间等问题。在某些大型机中,基址寄存器
34、只能由特权指令来管理,用户指令无权操作和修改。9 .某机字长为1 6 位,主存容量为6 4 K字,米用单字长单地址指令,共 有 5 0 条指令。若有直接寻址、间接寻址、变址寻址、相对寻址四种寻址方式,试设计其指令格式。解:操作码6 位,寻址方式2 位,地址码8 位。1 0 .某机字长为1 6 位,主存容量为6 4 K字,指令格式为单字长单地址,共 有 6 4 条指令。试说明:(1)若只采用直接寻址方式,指令能访问多少主存单元?(2 )为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少?指令直接寻址的范围为多少?(3 )采用页面寻址方式,若只增加一位
35、Z /C (零页/现 行 页)标志,指令寻址范围为多少?指令直接寻址范围为多少?(4)采 用(2 )、(3 )两种方式结合,指令的寻址范围为多少?指令直接寻址范围为多少?解:因为计算机中共有6 4 条指令,所以操作码占6 位,其余部分为地址码或标志位。(1 )若只采用直接寻址方式,地址码部分为1 0 位,指令能访问的主存单元数为2 1 0 =1 K字。(2 )若采用直接/间接寻址方式,将增加了一位直接/间接标志,地址码部分为9 位,指令直接寻址的范围为2 9=0.5 K 字,指令可寻址范围为整个主存空间2 1 6=6 4 K 字。(3 )若采用页面寻址方式,将增加一位Z/C (零页/现行页)标
36、志,所以指令直接寻址范围仍为2 9=0.5 K 字,指令寻址范围仍为2 1 6=6 4K字。(4 )此时将需要 和Z/C 两个标志位,所以指令直接寻址范围为 2 8 =0.2 5 K 字,指令的可寻址范围仍为2 1 6=6 4 K 字。指令系统第 3早6 7 1 1.设某机字长3 2 位,CPU有 3 2 个 3 2 位的通用寄存器,设计一个能容纳6 4种操作的单字长指令系统。(1)如果是存储器间接寻址方式的寄存器一存储器型指令,能直接寻址的最大主存空间是多少?(2 )如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?解:因为计算机中共有6 4条指令,所以操作码占6 位;3
37、2 个通用寄存器,寄存器编号占5 位;其余部分为地址码或标志位。(1)如果是存储器间接寻址方式的寄存器一存储器型指令,操作码 6 位,寄存器编号5 位,间址标志1 位,地址码2 0 位,直接寻址的最大主存空间是 2 2 0 字。(2 )如果采用通用寄存器作为基址寄存器,EA (Rb)+A ,能直接寻址的最大主存空间是2 3 2 字。1 2.已知某小型机字长为1 6 位,其双操作数指令的格式如下:056781 5O P R A其中:OP为操作码,R为通用寄存器地址。试说明下列各种情况下能访问的最大主存区域有多少机器字?(1 )(2 )(3 )(4 )AAAA为立即数。为直接主存单元地址。为间接地
38、址(非多重间址)。为变址寻址的形式地址,假定变址寄存器为R 1 (字长为1 6位)解:(1 )1个机器字。(2 )5 6个机器字。(3 )(4 )265 5 3 665 5 3 61 3 .计算下列4(1 )(2 )(3 )(4 )假定:00 0 0010 0 007 0 71 2 31100个机器字。个机器字。条指令的有效地址(指令长度为1 6位)。0 Q0 Q0 Q5 Q上述4条指令均用八进制书写,指令的最左边是一位间址指示位(=0,直接寻址;=1 ,间接寻址),且具有多重间访功能;指令的最右边两位为形式地址;主存容量2 1 5单元,表3唱4为有关主存单元的内容(八进制)。计算机组成原理教
39、师用书6 8表3唱4地址内容0 0 0 0 0 10 5 4 3 0 43 0 0 0 0 5习题13的表格000 0 0 20 0 0 31 0 0 0 00110 0 0 1 0 4 6 7 1 00 0 0 0 0 0 0 0 0 40 0 0 0 6 0 6 3 2 10150 0 0 20 2 5 40 0 0 07 0 7 7 7 1 0 0 0 0 1 0 1 0 0 0 0 5 解:(1)0 0 00 0 0 Q因为指令的最高位为0 ,故为直接寻址,E A =A =0 0 0 0 0 Q o(2)1 0 0 0 0 0 Q因为指令的最高位为1 ,故指令为间接寻址。(0 0 0
40、0 0 )=1 0 0 0 0 2 ,最高位仍为1 ,继续间接寻址。(0 0 0 0 2 )=0 5 4 3 0 4 ,其最高位为0 ,表示已找到有效地址,E A =5 4 3 0 4 Q o(3 )1 7 0 7 1 0 Q因为指令的最高位为1 ,故指令为间接寻址。(0 0 0 1 0 )=1 0 0 0 0 5 ,最高位仍为1 ,继续间接寻址。(0 0 0 0 5 )=1 0 0 0 0 1 ,最高位仍为1 ,继续间接寻址。(0 0 0 0 1 )=0 4 6 7 1 0 ,其最高位为0 ,表示已找到有效地址,E A =4 6 7 1 0 Q o(4 )0 1 2 3 0 5 Q因为指令的
41、最高位为0,故为直接寻址,E A =A =0 0 0 0 5 Q o1 4 .假定某机的指令格式如下:1 1 1 0 9 8 7 65 0 O P I 1 I 2 Z/C A其中:B it 1 1 =1 :间接寻址;B it 8 =1 :变址寄存器II寻址;B it 7 =1 :变址寄存器12寻址;B it 6 (零页/现行页寻址):Z/C =0,表示0 页面;Z/C =1 ,表示现行页面,即指令所在页面。若主存容量为2 1 2 个存储单元,分为2 6 个页面,每个页面有26 个字。设有关寄存器的内容为(P C)=0 3 4 0 Q (I I )=1 1 1 1 Q (12)=0 2 5 6
42、Q试计算下列指令的有效地址。(1 )1 0 4 6 Q(2 )2 4 3 3 Q(3)3 2 1 5 Q指令系统第3早6 9 (4 )1 1 1 1 Q解:(1)1 0 4 6 Q =0 0 1 0 0 0 1 0 0 1 1 0因为4个标志位均为0 ,故为直接寻址,E A =A=0 0 4 6 Q o(2)2 4 3 3 Q =0 1 0 1 0 0 0 1 1 0 1 1因为B it 8 (I 1 )=1 ,故为变址寄存器1寻址,E A =(I1 )+A=1111+33=114 4QO(3 )3 2 1 5 Q =011 0 1 0 0 0 1 1 0 1因为 B it 7 (I 2 )1
43、 ,故为变址寄存器2寻址,E A =(I2 )+A=0 2 5 6 +1 5 =0 2 7 3 Q o(4 )1 1 1 1 Q =0 0 1 0 0 1 0 0 1 0 0 1因为B it 6 (Z /C)=1 ,故为当前页寻址,E A =(P C)H A=0 3 /1 1 =0 3 1 1 Q o1 5 .假定指令格式如下:15 12 1 1 1 0 98 7 0O P I 1 I 2 Z/C D/I A其中:D /I为宜接/间接寻址标志,D /I =0表小直.接寻址,D/I =1表示间接寻址。其余标志位同题1 4说明。若主存容量为2 1 6个存储单元,分为2 8个页面,每个页面有28个字
44、。设有关寄存器的内容为(I 1 )=0 0 2 5 4 3 Q(P C)=0 0 4 3 5 0 Q试计算下列指令的有效地址。(1 )1 5 2 3 0 1 Q(2 )0 7 4 0 1 3 Q(3)1 6 1 1 2 3 Q(4 )1 4 0 0 1 1 Q解:(1 )1 5 2 3 0 1 Q =10 1(1 2 )=0 6 3 2 1 5 Q1 0 1 0 1 0 0 1 1 0 0 0 0因为B it l 0 (I 2 )=1,故为变址寄存器2寻址,E A =(I2 )+A=063215+3 0 1 =0 6 3 5 1 6 Q o(2)074013Q=0 1 1 1 1 0 0 0
45、0 0 0 0 1 0 11因为B it l 1 (I 1 )=1,故为变址寄存器1寻址,E A =(I1 )+A=002543+0 1 3 =0 0 2 5 5 6 Q o(3 )1 6 112 3Q=1 1 1 0 0 0 1 0 0 1 0 1 0 0 11因为B it 9 (Z/C)=1 ,故为当前页寻址,E A =(P C)/A=0 0 4 1 2 3 Q o(4 )1 4 0 0 1 1 Q =1 1 0 0 0 0 0 0 0 0 0 0 1 0 01因为4个标志位均为0 ,故为直接寻址,E A A 0 0 0 0 11 Q 。1 6 .举例说明哪几种寻址方式除去取指令以外不访问
46、存储器?哪儿种寻址方式除去计算机组成原理教师用书7。取指令外只需访问一次存储器?完成什么样的指令,包括取指令在内共访问4次存储器?解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。除去取指令外只需访问一次存储器:直接寻址,寄存器间接寻址,变址寻址,基址寻址,相对寻址,页面寻址。二级间接寻址包括取指令在内共访问4次存储器。1 7.设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2 0 00 H ,且CPU每取一个字节便自动完成(PC)+1-PC的操作。试问当执行川P倡+8和JMP倡 一9指 令(倡为相对寻址特征)时,
47、转移指令第二字节的内容各为多少?转移的目的地址各是什么?解:转移指令第二字节的内容分别为:0 0 0 0 1 0 0 0(+8),1 1 1 1 0 1 1 1 (-9)转移的目的地址分别为:2 0 0 A H ,1 FF 9 H o18.什么叫主程序和子程序?调用子程序时还可采用哪儿种方法保存返回地址?画图说明调用子程序的过程。解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。保存返回地址的方法有多种:(1)用子程序的第一个字单元存放返回地址。转子指令把返回地址存放在子程序的第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个字单元地址
48、作为间接地址,采用间址方式返回主程序。(2 )用寄存器存放返回地址。转子指令先把返回地址放到某一个寄存器中,再由子程序将寄存器中的内容转移到另一个安全的地方。(3)用堆栈保存返回地址。调用子程序的过程如图3 唱 8 所示,此时返回地址保存在堆栈中。图 3 唱 8 主程序调用子程序的过程1 9.在某些计算机中,调用子程序的方法是这样实现的:转子指令将返回地址存入子程序的第一个字单元,然后从第二个字单元开始执行子程序,请回答下列问题:(1)为这种方法设计一条从子程序转到主程序的返指令。指令系统第 3早7 1 (2)在这种情况下,怎么在主、子程序间进行参数的传递?(3 )上述方法是否可用于子程序的嵌
49、套?(4)上述方法是否可用于子程序的递归(即某个子程序自己调用自 己)?(5)如果改用堆栈方法,是否可实现(4)所提出的问题?解:(1 )返回指令通常为零地址指令。返回地址保存在堆栈中,执行返回指令时自动从堆栈中弹出。而目前返回地址是保存在子程序的第一个单元中,故此时返回指令不能再是零地址指令了,而应当是一地址指令。如:JMP 子程序首地址间接寻址可找到返回地址,然后无条件转移到返回的位置。(2)在这种情况下,可利用寄存器或主存单元进行主、子程序间的参数传递。(3)可以用于子程序的嵌套(多重转子)。因为每个返回地址都放在调用的子程序的第一个单元中。(4)不可以用于子程序的递归,因为当某个子程序
50、自己调用自己时、子程序第一个单元的内容将被破坏。(5)如果改用堆栈方法,可以实现子程序的递归,因堆栈具有后进先出的功能4.4 教材习题解答1 .证明在全加器里,进位传递函数P=A i+Bi=AiB i。解:并行加法器中的每一个全加器都有一个从低位送来的进位和一个传送给较高位的进位。进位表达式为Ci=Ai Bi+(Ai Bi)Ci 1欲证明Pi=Ai+Bi=AiBi,也就是要证明Ci=Ai Bi+(Ai Bi)Ci 1=Ai Bi+(Ai+Bi)Ci-1用卡诺图法,图4唱1 0(a)和4唱1 0(b)分别是两个逻辑表达式的卡诺图。两个卡诺图相同,两个逻辑表达式就相等,则进位传递函数的两种形式相等