第2章 数据表示运算和运算器部件.docx
《第2章 数据表示运算和运算器部件.docx》由会员分享,可在线阅读,更多相关《第2章 数据表示运算和运算器部件.docx(23页珍藏版)》请在冰豆网上搜索。
![第2章 数据表示运算和运算器部件.docx](https://file1.bdocx.com/fileroot1/2023-1/4/9c81a28c-aa48-4bb9-bac0-4fcf99e71fd4/9c81a28c-aa48-4bb9-bac0-4fcf99e71fd41.gif)
第2章数据表示运算和运算器部件
第2章数据表示、运算和运算器部件
1.面给出的几个十进制数化为二进制数、八进制数、十六进制数。
7+3/4,—23/64,—125.9375,5.43
答案:
十进制数二进制数八进制数十六进制数
7+3/4111.117.67.C
-23/64-0.010111-0.27-0.5C
27.511011.133.41B.8
-125.9375-1111101.1111175.747D.F
5.43101.0115.35.68
2.把下面给出的几种不同进制的数化成十进制的数。
(1010.0101)2,—(101101111.101)2,(23.47)8,—(1A3C.D)16
答案:
(1010.0101)2=(10.3125)10
-(101101111.101)2=(357.625)10
(23.47)8=(19+39/64)10
-(1A3C.D)16=(6716+13/16)10
3.将十进制数+107/128化成二进制数、八进制数和十六进制数。
解:
4.(21)10= 2= 8= 16
答案:
5.说明海明码能实现检错纠错的基本原理?
为什么能发现并改正一位错、也能发现二位错,校验位和数据位在位数上应满足什么条件?
答:
基本原理:
k个数据之外加上r个校验位,从而形成k+r位的新的码字,使新的码字的码距均匀的拉大。
把数据的每一个二进制位分配到几个不同的偶校验位的组合中,当一位出错,会引起相关的几个校验位的值发生变化,从而可能发现出错,还能指出是哪一位错,进而进行纠错。
校验位和数据位应满足条件
在此条件下,不但能发现并改进一位错,并能同时发现二位错。
6.请回答什么是二--十进制编码?
什么是有权码、什么是无权码、各举一个你熟悉的有权码和无权码的例子?
答:
二-十进制码即8421码,即4个基2码位的权从高到低分别为8、4、2、1,使用基码的0000,0001,0010,……,1001这十种组合分别表示0至9这十个值。
4位基二码之间满足二进制的规则,而十进制数位之间则满足十进制规则。
有权码是指一个十进制数位的4位基2码的每一位有确定的权。
无权码是指一个十进制数位的4位基二码没有确定的权。
前者的例子为二-十进制编码(BCD)码,后者的例子为余3码。
7.在一个二进制编码的系统中,如果每一个数据同一位上的符号"1"都代表确定的值,则该编码系统属于 ,该值被称为为个数位的 ,计算一个数据表示的十进制的值量,可以通过把该数据的所有取值为1的 累加求和来完成。
答案:
有权码位权数位的位权
8.判断下面的二元码的编码是有权码还是无权码,写出判断的推导过程。
十进制数二元码的编码
0 0000
1 0111
2 0110
3 0101
4 0100
5 1011
6 1010
7 1001
8 1000
9 1111
答:
(1)推导过程:
判断是有权码还是无权码:
设4位二元码每位分别为A、B、C、D,且假定其为有权码,则
从数值4的编码0100可求得B的位权为4;从数值8的编码可求得A是位权位—8;再从数值7的编码1001可求得D的位权为—1;从数值6的编码1010可求得C的位权为—2。
再用ABCD的位权分别为8、4、—2、—1来验证数值0、1、2、3、5、9的编码值,结果都正确。
(2)判断是有权码还是无权码:
结论:
该编码系统是有权码。
9..将十进制数+107/128和–52化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。
答案:
+107/128=0.1101011–52=–110100
原码表示0110101110110100
反码表示0110101111001011
补码表示0110101111001100
10.X=-0.1001[X]原= [X]补= [X]反=
Y=0.0101 [Y]原= [Y]补= [Y]反=
[Y-X]补=
解:
[X]原=(11001)[X]补=(10111)[—X]补=(01001)
[Y]原=(00101)[Y]补=(00101)[—Y]补=(11011)
[Y—X]补=(01110)
11.用补码运算方法计算X+Y=?
,并判断结果溢出(采用双符号位法)。
(1)X=0.1011Y=0.1100
(2)X=—0.1011Y=0.1001
解:
(1)[X]补=001011,[Y]补=001100
001011
+001100
010111有溢出
(2)[X]补=110101,[Y]补=001001
110101
+001001
111110不溢出
12.写出下面2组数的原码、反码、补码表示,并用补码计算每组数的和、差。
双符号位的作用是什么?
它只出现在什么电路之处?
(1)X=0.1101,Y=—0.0111
(2)X=10111101,Y=—00101011
解:
十进制数原码表示反码表示补码表示X+YX-Y
0.1101001101001101001101000110011100
0.01111101111110001110010.0110溢出
101111010010111101001011110100101111010010010010(和)
-001010111100101011111101010011110101010011101000(差)
双符号位用于简化补码加减运算时的判别溢出,它只出现在ALU的符号运算之处。
13.写出[X]移=10111101和[Y]移=00101011所代表的实际值。
说明移码的使用场合,计算两数移码的和、差。
答案:
[10111101]移的値是十进制数的61;
[00101011]移的値是十进制数的85;。
二者之和为[01101000]移,即24;二者之差溢出。
移码的使用场合:
浮点数的阶码。
14.计算定点小数补码一位除时,是用被除数和除数的补码表示直接计算商的 表示的结果。
求得每位商的依据,是比较被除数[和中间步骤的差]与除数的 的大小,其规则是:
(1)开始时,当除数与被除数同号,则 运算求第一位商,当被除数与除数异号,用 运算求第一位商。
(2)当计算的结果与除数 时,该位商为1,求下一位商时要用 运算完成;结果与除数 时,该位商为0,求下一位商时要用 计算完成。
(3)对运算的结果左移一位时写回开始时存放 的累加器,对存放商的寄存器的内容也同时 一位。
按下来开始求下一位商。
(4)用此方法计算,如果结果不溢出,商的符号和数值位是用相同的办法计算出的,严格地说,此时求出的商是 码表示的结果,对正的商,也就是补码表示,对负数的商,应该再在最低位 后才是真正的补码商;为了简单,也可以不去区分商的符号,商的最低位不再经过计算得到,面是恒置为 。
答案:
补码绝对值减加同号减异号加法
被除数左移反加11
15.仿照计算机的计算过程,用补码计算X=0.1101和Y=—0.0111两个小数的商Y/X。
答案:
商的补码为10111,真值为—0.1001。
(提示:
因计算结果是负的商,故商的补码值要在最低一位加1。
)
16.按你的理解,画出一个相对完整的定点运算器的示意组成框图,包括入出数据和基本的控制信号。
17.在做脱机运算器实验时,送到运算器芯片的控制信号是通过( )提供的,外部送到运算芯片的数据信号是通过( )提供的,并通过( )查看运算器的运算结果(运算的值和特征标志位状态)
A.计算机的控制器 B.发光二极管指示灯亮灭状态 C.显示器屏幕上的内容 D.手拨数据开关 E.运算器累加器中的内容 F.微型开关
答案:
FDB
18.以教学计算机为例,说明应如何控制与操作运算器完成指定的数据运算、传送功能,为什么必须在Am2901之外解决向运算器提供最低位的进位信号,最低、最高位的移位输入信号,以及状态位的接收与记忆问题。
设计完成如下操作功能的操作步骤和必须提供的信号:
把100送入R0,R0的内容送入R1,完成R0—R1本存入R0,R1的内容减1,R1的内容送入Q,R1和Q与C联合右移一位。
答:
在教学计算机中,为控制运算器完成指定的数据运算、传送功能,必须给出要用的数据组合,ALU要完成的运算功能,和对运算结果的保存及送出办法;
选择送到ALU最低位的进位信号的状态,如何处理最高、最低位的移位信号的状态,是否保存运算结果的特征位信号等问题,都要依据指令执行的实际需求来处理,不是运算器内部功能所能包含的,故只能到Am2901芯片之外来解决。
预期功能
控制信号
I8-6
I5-3
I2-0
SST
A地址
B地址
SCi
SSH
R0←100(64H)
011
000
111
001
不用
0000
00
00
R1←R0
011
000
100
001
0000
0001
00
00
R0←R0-R1
011
001
001
001
0001
0000
00
00
R1←R1-1
010
001
011
001
不用
0001
01
00
Q←R1
000
000
100
001
0001
不用
00
00
与Cy联合右移
R1│Q←R1│Q
100
000
011
001
0001
0001
00
10
控制的作用
Y的输出通用与Q寄存器的接收
运算功能
运算数据
状态寄存器
选A口数据
选B口数据
最低位进位
移位控制
注意:
最后一项操作中,移入通用寄存起R1最高位的不是状态触发器C的值,而是ALU运算的符号位Cy的值,通用寄存器和Q联合右移时,不能支持与C的循环移位。
若8位机中控制信号有所变化,请按变化后的信号完成实验。
19.设A=–0.101101×2-3,B=0.101001×2-2,首先将A、B表示为规格化的浮点数,要求阶码用4位(含阶码符号)移码表示,尾数用8位(含浮点数的符号)原码表示;再写出A+B的计算步骤和每一步的运算结果。
答案:
–0.1011012-3的浮点数的格式:
101011011010(阶码的补码为1010)
0.1010012-2的浮点数的格式:
001101010010(阶码的补码为1110)
计算A+B:
(1)求阶差:
[ΔE]补=[A阶码]补–[B阶码]补=1001,[ΔE]移=0001,
ΔE的真值为—1,即A的阶码比B的阶码小1。
(2)对阶:
A变为1011001011010
(3)尾数相加1110100110双符号位补码相加
+001010010
000100101
(4)规格化:
左规,尾数为01001010,阶码为0101
(5)无舍入操作,亦不溢出,
故最的终浮点数格式的结果:
001011001010,即+0.10010102-3。
20.回答如下问题:
(1) 浮点数阶码选用移码表示有何优点?
(2) 浮点数表示中的隐藏位技术的作用是什么?
在什么时刻完成对隐藏位的处理?
(3) 浮点数表示中,当尾数选用补码表示时,如何表示十进制数的—0.5,才能满足规格化的要求?
答:
(1)浮点数的阶码用移码表示有利于表示和处理浮点数的机器零(或答有利于简化机器中的判0线路)。
(2)浮点数表示中的隐藏位,是指可以把规格化浮点数的尾数最高位的值(原码时为1,补码时与符号位相反)省去,以便提高一位二进制尾数的表示精度。
这一处理应出现在保存浮点数到寄存器之前(隐藏起来),或从存储器浮点数到运算器中(恢复过来)的时刻进行。
(3)十进制数的—0.5应表示为—1×2—1的形式。
21.举例说明运算器中的ALU通常可以提供的至少5种运算功能?
运算器中使用多累加器的好处是什么?
答:
运算器中的ALU通常至少可以提供算术加运算、算术减运算、逻辑或运算、逻辑与运算、逻辑异或运算5种功能。
运算器采用多累加器可以简化指令的执行步骤
第3章指令、指令系统和控制器部件
1.一条指令通常由哪两部分组成?
指令的操作码一般有哪几种组织形式?
各自应用在什么场合?
各自的优点是什么?
答:
一条指令通常由操作码和操作数地址组成。
指令的操作码组织形式有定长操作码、变长的操作码和操作码字段与操作数地址交叉的形式。
定长操作码应用于字位数长的计算机。
优点是利于简化计算机的硬件设计,提高指令译码和识别的速度。
缺点是会使操作数的地址不足。
变长操作码应用于字位数短的计算机。
优点是可给操作数地址留给更多的位数,对操作数位数要求较少的指令分配多几位操作码,既能表示出比较多的指令条数,又能尽量满足给出相应的操作数地址要求。
操作码字段与操作数地址交叉的形式比较特殊,不很常用。
特点是操作码与表示操作数地址的一些字段交叉。
2.什么是形式地址?
什么是物理(有效)地址?
举例说明计算机中常用的四种寻址方式(寄存器寻址,寄存器间接寻址,变址寻址,堆栈寻址),从形式地址到得到操作数的寻址处理过程。
答案:
表示在指令中的操作数地址通常称为形式地址;用这种形式地址并结合某些规则计算出操作数在存储器中的存储单元地址称为物理(有效)地址。
(1)寄存器寻址,形式地址为寄存器名(或编号),寄存器中的内容为操作数;
(2)寄存器间接寻址,形式地址为寄存器名(或编号),寄存器中的内容为操作数的地址,再读一次内存得到操作数;
(3)变址寻址,形式地址为变址寄存器名(或编号)和变址偏移值,把变址寄存器中的内容与变址偏移值相加得到操作数的地址,再读一次内存得到操作数;
(4)堆栈寻址,通常形式地址为将写入堆栈的、或接收堆栈读出内容的寄存器名(或编号),指令中不直接给出内存地址,而是选用默认的堆栈指针寄存器中的内容为内存地址,读写堆栈总伴有修改堆栈指针的操作。
3.在设计指令系统时,通常应从哪几个方面入手:
答:
(1)指令系统的完备性,常用指令齐全,编程方便;
(2)指令系统的高效性,程序占用内存空间少,运行速度快。
(3)指令系统的规整性,指令和数据使用规则统一简化,易学易记;
(1) 指令系统的兼容性,同一系列的低档计算机的程序能放到新的高档机上直接运行。
4.简要说明减法指令SUBR3,R2和子程序调用指令的执行步骤。
答:
(1)减法指令执行流程:
①AR←PC
②读内存,IR←读出的内容,PC←PC+1
③R3←R3—R2,保存状态信息
结束,检查中断请求,无中断请求,进入下一条指令的执行过程。
(2)子程序调用指令执行流程;
①AR←PC
②读内存,IR←读出的内容,PC←PC+1
③AR←SP—1
④写内存,PC内容进栈保存
⑤PC←ZI程序入口地址
结束,检查中断请求,无中断请求,进入下一条指令的执行过程。
5.按你自己的理解和想象的计算机的硬件(应有中断功能)组成,写出完成下面给定指令格式的指令的执行流程。
(1)累加器内容完成“异或”运算。
“异或”指令格式:
操作码 DR SR
(2)把一个内存单元中的的内容读到所选择的一个累加器中。
“读内存”指令格式:
操作码 DR SR
答:
(1)指令流程:
①程序计数器的内容→地址寄存器
②读内存,读出的指令→指令寄存器,PC←PC+1
③DR的内容异或SR的内容,结果→DR
④检查有无中断请求,有,则进行相应处理;无,则转入下一条支流的执行过程。
(2)指令流程:
①程序计数器的内容→地址寄存器
②读内存,读出的指令→指令寄存器,PC←PC+1
③SR的内容→地址寄存器(寄存器间接寻址方式)
④读内存,读出的数据→DR
⑤检查有无中断请求,有,则进行相应处理;无,则转入下一条支流的执行过程。
6.原理性地说明ADDR0,R1指令、条件相对转移指令的指令格式和执行步骤。
答案:
ADDR0,R1,指令中给出操作码和R0、R1的编号,
指令执行步骤:
(1)程序计数器(PC)的内容送地址寄存器
(2)读内存,读出内容送指令寄存器(IR);PC内容+1(增量);
(3)R0、R1送ALU,ALU执行加运算,运算结果存回R0寄存器;
保存运算结果的特征状态。
(4)检查有无中断请求,有,则响应中断,无则转入下一条指令的执行过程。
条件相对转移指令,指令中给出操作码和相对转移偏移值,条件转移要依据的转移判断条件;
指令的执行步骤:
(1)程序计数器(PC)的内容送地址寄存器
(2)读内存,读出内容送指令寄存器(IR);PC内容+1(增量);
(3)执行条件转移指令时,要判别指定的条件,若为真,
才执行:
尚未修改的PC内容送ALU,相对转移偏移值送ALU,
ALU执行加操作,结果送入PC;
否则顺序地进入下一条指令的执行过程;
(4)检查有无中断请求,有,则响应中断,无则转入下一条指令的执行过程。
7.简要说明组合逻辑控制器应由哪几个功能部件组成?
答:
组合逻辑控制器应由4个功能部件组成:
(1) 程序计数器PC,用于保存一条指令在内存中的地址;
(2) 指令寄存器IR,用于保存从内存读出的指令内容;
(3) 脉冲源和启停控制逻辑、节拍发生器,前者向计算机各部件提供连续(单个)的主振脉冲,后者用于标记每个指令的执行步骤的相对次序关系。
(4) 时序控制信号产生部件,用于形成并提供计算机各部件当前时刻要用到的控制信号。
8.简述计算机的控制器的功能和基本组成。
说明计算机的组合逻辑控制器和微程序控制器在组成和运行原理两个方面的同异之处,比较它们的优缺点。
答案:
计算机的控制器的基本功能是提供计算机各个部件协同运行所需要的控制信号,组成部分都有程序计数器PC,指令寄存器IR,脉冲源和启停控制逻辑,时序控制信号产生部件。
组合逻辑的控制器和微程序的控制器是计算机中两种不同类型的控制器,其共同点是:
基本功能都是提供计算机各个部件协同运行所需要的控制信号,组成部分都有程序计数器PC,指令寄存器IR,都分成几个执行步骤完成每一条指令的具体功能;不同点主要表现在:
处理指令执行步骤的办法,提供控制信号的方案不一样,组合逻辑控制器是用节拍发生器指明指令执行步骤,用组合逻辑电路直接给出应提供的控制信号,其优点是运行速度明显地快,缺点是设计与实现复杂些,但随着大规模现场可编程集成电路的出现,该缺点已得到很大缓解;微程序的控制器是通过微指令地址的衔接区分指令执行步骤,应提供的控制信号是从控制存储器中读出来的,并经过一个微指令寄存器送到被控制部件的,其缺点是运行速度要慢一些,优点是设计与实现简单些,易于用于实现系列计算机产品的控制器,理论上可实现动态微程序设计。
9.简要说明条件转移指令和无条件转移指令的相同点和不同点?
子程序调用指令与转移指令的区别是什么?
答:
(1)条件转移指令和无条件转移指令的相同点是必须在指令中给出转移地址,不同点在于条件转移指令还必须在指令中给出判断是否执行转移所依据的条件。
(2)子程序调用指令与转移指令的区别在于子程序调用指令转移之后还有一个对应的返回过程,而一般的转移指令并不涉及转移走后是否如何再次转移回来。
10.简要说明组合逻辑控制器中的节拍发生器的作用是什么?
简述它的运行原理。
答:
组合逻辑控制器中的节拍发生器的作用是:
(1) 提供执行每一条指令的步骤(时序)的标记信号和时序脉冲信号。
(2) 它是用时序逻辑方式运行的,依据当前的时序状态信息,指令的操作码信息,可能还看指令执行状态的有关信息等,确定出下一个时序状态的值。
11.在组合逻辑有控制器中,节拍发生器[TIMING]的作用在于指明指令的执行( ),它是一个典型的( )逻辑电路,从一个节拍状态变至下一个节拍状态时,同时翻转的触发器数目以尽可能的( )为好。
A.快 B.时序 C.多 D.组合 E.数据 F.控制 G.类型 H.少 I.次序 J.状态 K.过程 L.步骤
答案:
LBH
12.在计算机硬件系统中,在指令的操作数字段中所表示的内存地址被称为( ),用它计算出来的送到内存用以访问一个存储器单元的地址被称为( )。
A.有效地址 B.内存地址 C.形式地址 D.文件地址 E.物理地址 F.逻辑地址 H.指令地址 I.指令地址 J.CACHE地址
答案:
CA
13.在微程序控制系统中,通常有哪5种得到下一条微指令地址的方式?
答:
在微程序控制系统中,通常有以下5种得到下一条微指令地址的方式:
(1) 微程序顺序执行时,下地址为本条微地址加1。
(2) 在微程序