《计算机组成原理A》形考作业一答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

注意:补码、移码表示中零是唯一的。

相关文档
最新文档