广播电视大学计算机组成形成性考核册形考作业答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理A 形考作业一(参考答案)
一、选择题:
1.机器数_____中,零的表示形式是唯一的。
A.原码B.补码C.移码D.反码
答案:B,C
2.某计算机字长16位,采用补码定点小数表示,符号位为1位,数值位为15位,则可表示的最大正小数为_____,最小负小数为_____。
A.B.
C.D.
答案:C
3.加法器采用并行进位的目的是_____。
A.提高加法器的速度B.快速传递进位信号
C.优化加法器结构D.增强加法器功能
答案:B
4.组成一个运算器需要多个部件,但下面所列_____不是组成运算器的部件。
A.状态寄存器B.数据总线
C.ALU D.地址寄存器
答案:D
二、判断题:判断下列说法是否正确,并说明理由。
1.ASCII编码是一种汉字字符编码;×
答:ASCII编码是西文字符集,共能表示128个字符。
2.一般采用补码运算的二进制减法器,来实现定点二进制数加减法的运算;×
答:补码表示适合于进行加减法运算,对符号位与数值位同等处理,只要结果不超出机器所能表示的范围,将直接得到正确的运算结果,并且可以用实现加法运算的电路完成减法运算。
3.在浮点数表示法中,阶码的位数越多,能表达的数值精度越高;×
答:在浮点数表示法中,阶码的位数越多,能表达的数值越大;尾数的位数越多,能表达的数值精度越高。
4.只有定点数运算才可能溢出,浮点数运算不会产生溢出。×
答:不仅定点数运算可能溢出,浮点数运算也会产生溢出。
三、简答题:
1.简述奇偶校验码和海明校验码的实现原理。
答:奇偶校验码是一种最简单的数据校验码,可以检测出一位错误(或奇数个位错误),但不能确定出错的位置,也不能检测出偶数个位出错。通常是在有效的数据位之外再增加一个二进制位,称为校验位,通过异或门线路判断数据位中取值为1的位数是奇数和偶数,来决定校验位的值为1或0,使新得到的码字中取值为1的位数凑成为奇数或偶数,这项操作被称为编码过程,凑成奇数的方案称为奇校验,凑成偶数的方案称为偶校验。
海明校验码原理:海明码是对多个数据位使用多个校验位的一种检错纠错编码方案。是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出现错误,就会引起相关的几个校验位的值发生变化,这不但可以发现错误,还可以指出哪一位出错,并能恢复该出错位的正确值。
2.简述教材中给出的MIPS计算机的运算器部件的功能和组成。
答:MIPS计算机是上个世纪八十年代中期推出的典型RISC结构、非常成功的系统,国内外许多教材都把MIPS的指令系统和实现技术选为教学内容。
下图是MIPS计算机的运算器部件的内部组成。由图可见,它主要包括两个重要部分,一个是由128个寄存器组成的寄存器堆,另一个是执行数据运算的ALU。这个运算器被用于多周期CPU系统(对不同类型的指令选用不同的周期数)时,ALU既用于计算数据,又用于计算数据和指令在存储器中的地址,故还需要向ALU提供计算指令地址的相关信息。
寄存器堆REGs 由4组各32个寄存器组成,有3个控制端口(5位)提供寄存器编号,其中的2个(rs、rt) 用于读,读出的数据将保存到寄存器A和B 。1个(rd) 用于写,写入的数据由DI引脚提供,可以是寄存器C 或从内存读出的内容,寄存器B的内容可以写到内存。
算逻运算单元ALU 能完成加、减、与、或、异或等运算,用ALU-func 信号选择,一路运算数据包括寄存器A和程序计数器PC 2个来源,用A-sel选择,另一路包括寄存器B、常数4、两个立即数Immed-1和Immed-2(两个立即数来自指令寄存器IR并经过扩展得到)4个来源,用B-sel选择,产生运算结果R (送到PC) 或保存到结果寄存器C,还产生结果为0 的标志位信息Z。ALU完成数据运算,数据、指令在内存中的地址计算这三种操作。
3.浮点运算器由哪几部分组成?
答:浮点运算器总是由处理价码和处理尾数的这样两部分逻辑线路组成。例如:以Intel 80827浮点协处理器为例,80827内部有处理浮点数指数部分的部件和处理尾数部分的部件,还有加速移位操作的移位寄存器线路以及寄存器堆栈等组成。
4.假定X = 0.0110011*211,Y = 0.1101101*2-10 (此处的数均为二进制),在不使用隐藏位的情况下,回答下列问题:
(1)浮点数阶码用4位移码、尾数用8位原码表示(含符号位),写出该浮点数能表示的绝对值最大、最小的(正数和负数)数值;
(2)写出X、Y的浮点数表示。
(3)计算X+Y
(1)答:阶码用4位移码表示、尾数用8位原码表示:
绝对值最大:1111 0 1111111
阶码尾数符号位尾数
1111 1 1111111
绝对值最小:1000 0 1000000
1000 1 1000000
(2)答:写出X、Y的浮点数表示。
[X]浮=1011 0 0110011 [Y]浮=0110 0 1101101
(3)答:计算X+Y
A:求阶差:|△E|=|1011-0110|=0101
B:对阶:Y变为1 011 0 00000 1101101
C:尾数相加:00 0110011 00000+ 00 00000 1101101=00 0110110 01101
D:规格化:左规:尾数为0 1101100 1101,阶码为1010
F:舍入处理:采用0舍1入法处理,则有00 1101100+1=00 1101101
E:不溢出
所以,X+Y最终浮点数格式的结果:1010 0 1101101,即0.1101101*210
四、计算题:
1.将十六进制数据14.4CH表示成二进制数,然后表示成八进制数和十进制数。
解:14.4CH=(10100.01001100)2=(24.23)8=(20.296875)10
2.对下列十进制数表示成8位(含一位符号位)二进制数原码和补码编码。
(1)17;(2)-17;
解:(1)x=17=(10001)2;则[X]原=0 0010001,[X]补=0 0010001
(2)x=-17=(-10001)2;则[X]原=1 0010001,[X]补=1 1101111
3.已知下列各[x]原,分别求它们的[x]反和[x]补。
(1)[X]原=0.10100;(2)[x]原=1.00111;(3)[x]原=010100;(4)[x]原=110100;
解:(1)已知[X]原=0.10100;则[X]反=0 10100,[X]补=0 10100
(2)已知[X]原=1.00111;则[X]反=1 11000,[X]补=1 11001
(3)已知[X]原=010100;则[X]反=0 10100,[X]补=0 10100
(4)已知[X]原=110100;则[X]反=1 01011,[X]补=1 01100
4.写出X=10111101,Y=-00101011的双符号位原码、反码、补码表示,并用双符号补码计算两个数的差。
解:[X]原=00 10111101, [X]反=00 10111101, [X]补=00 10111101
[Y]原=11 00101011, [Y]反=11 11010100, [Y]补=11 11010101
[ X –Y ]补=[X]补+[-Y]补=00 1011 1101+00 0010 1011=00 1110 1000
注意:补码、移码表示中零是唯一的。