计算机组成原理作业参考答案1.docx

上传人:b****3 文档编号:4949015 上传时间:2023-05-07 格式:DOCX 页数:13 大小:22.52KB
下载 相关 举报
计算机组成原理作业参考答案1.docx_第1页
第1页 / 共13页
计算机组成原理作业参考答案1.docx_第2页
第2页 / 共13页
计算机组成原理作业参考答案1.docx_第3页
第3页 / 共13页
计算机组成原理作业参考答案1.docx_第4页
第4页 / 共13页
计算机组成原理作业参考答案1.docx_第5页
第5页 / 共13页
计算机组成原理作业参考答案1.docx_第6页
第6页 / 共13页
计算机组成原理作业参考答案1.docx_第7页
第7页 / 共13页
计算机组成原理作业参考答案1.docx_第8页
第8页 / 共13页
计算机组成原理作业参考答案1.docx_第9页
第9页 / 共13页
计算机组成原理作业参考答案1.docx_第10页
第10页 / 共13页
计算机组成原理作业参考答案1.docx_第11页
第11页 / 共13页
计算机组成原理作业参考答案1.docx_第12页
第12页 / 共13页
计算机组成原理作业参考答案1.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理作业参考答案1.docx

《计算机组成原理作业参考答案1.docx》由会员分享,可在线阅读,更多相关《计算机组成原理作业参考答案1.docx(13页珍藏版)》请在冰点文库上搜索。

计算机组成原理作业参考答案1.docx

计算机组成原理作业参考答案1

第1章计算机系统概论

5.冯?

诺依曼计算机的特点是什么?

解:

冯?

诺依曼计算机的特点是:

P8

(1)计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;

(2)指令和数据以同同等地位存放于存储器内,并可以按地址访问;

(3)指令和数据均用二进制表示;

(4)指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;

(5)指令在存储器中顺序存放,通常自动顺序取出执行;

(6)机器以运算器为中心(原始冯?

诺依曼机)。

7.解释下列概念:

主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。

解:

课本P9-10

(1)主机:

是计算机硬件的主体部分,由CPU和主存储器MM合成为主机。

(2)CPU:

中央处理器,是计算机硬件的核心部件,由运算器和控制器组成;(早期的运算器和控制器不在同一芯片上,现在的CPU内除含有运算器和控制器外还集成了Cache)。

(3)主存:

计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。

(4)存储单元:

可存放一个机器字并具有特定存储地址的存储单位。

(5)存储元件:

存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。

(6)存储字:

一个存储单元所存二进制代码的逻辑单位。

(7)存储字长:

一个存储单元所存储的二进制代码的总位数。

(8)存储容量:

存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)。

(9)机器字长:

指CPU一次能处理的二进制数据的位数,通常与CPU的寄存器位数有关。

(10)指令字长:

机器指令中二进制代码的总位数。

8.解释下列英文缩写的中文含义:

CPU、PC、IR、CU、ALU、ACC、MQ、X、

MAR、MDR、I/O、MIPS、CPI、FLOPS解:

全面的回答应分英文全称、中文名、功能三部分。

(1)CPU:

CentralProcessingUnit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。

(2)PC:

ProgramCounter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。

(3)IR:

InstructionRegister,指令寄存器,其功能是存放当前正在执行的指令。

(4)CU:

ControlUnit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。

(5)ALU:

ArithmeticLogicUnit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。

(6)ACC:

Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。

(7)MQ:

Multiplier-QuotientRegister,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。

(8)X:

此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;

(9)MAR:

MemoryAddressRegister,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。

(10)MDR:

MemoryDataRegister,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。

(11)I/O:

Input/Outputequipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。

(12)MIPS:

MillionInstructionPerSecond,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。

补充题.什么是摩尔定律?

该定律是否永远生效?

为什么?

答:

P23,否,P36

第四章存储器(海明码)

17.写出1100、1110对应的汉明码。

解:

有效信息为n=4位,假设有效信息用b4b3b2b1表示,

根据2k≥n+k+1,得校验位位数k=3位。

设校验位分别为C1、C2、C3,则汉明码共4+3=7位,即:

C1C2b4C3b3b2b1。

校验位在汉明码中分别处于第1、2、4位,按照配偶原有:

C1=3⊕5⊕7=b4⊕b3⊕b1(公式一定要有)

C2=3⊕6⊕7=b4⊕b2⊕b1

C3=5⊕6⊕7=b3⊕b2⊕b1

当有效信息为1100时,C3C2C1=110,汉明码为0111100。

当有效信息为1110时,C3C2C1=000,汉明码为0010110。

18.已知收到的汉明码(按配偶原则配置)为1100111、1100001,检查上述代码是否出错?

第几位出错?

解:

假设接收到的汉明码为:

C1'C2'b4C'3'b3'b2'b1'

纠错过程如下:

P1=1⊕3⊕5⊕7=C1'⊕b4'⊕b3'⊕b1'(公式一定要有)

P2=2⊕3⊕6⊕7=C2'⊕b4'⊕b2'⊕b1'

P3=4⊕5⊕6⊕7=C3'⊕b3'⊕b2'⊕b1'

如果收到的汉明码为1100111,则P3P2P1=111,说明代码有错,第7位(b1')

出错,有效信息为:

0110

如果收到的汉明码为1100001,则P3P2P1=100,说明代码有错,第4位(C3')出错,有效信息为:

0001

19.已经接收到下列汉明码,分别写出它们所对应的欲传送代码。

(3)1101001(按偶性配置)

(6)1110001(按奇性配置)

解:

(一)假设接收到的汉明码为C1'C2'b4'C3b'3'b2'b1',按偶性配置则:

P1=C1'⊕b4'⊕b3'⊕b1'(公式一定要有)

P2=C2'⊕b4'⊕b2'⊕b1'

P3=C3'⊕b3'⊕b2'⊕b1'

(3)如接收到的汉明码为1101001,

P1=1⊕0⊕0⊕1=0

P2=1⊕0⊕0⊕1=0

P3=1⊕0⊕0⊕1=0P3P2P1=000,传送无错,故欲传送的信息为0001。

(二)假设接收到的汉明码为C1'C2'b4'C3b'3'b2'b1',按奇性配置则:

P1=C1⊕'b4'⊕b3⊕'b1'(公式一定要有,一定要注意按奇配置,异或后再取非)

P2=C2'⊕b4⊕'b2⊕'b1'

P3=C3⊕'b3⊕'b2⊕'b1'(6)如接收到的汉明码为1110001,

P1=C1⊕'b4⊕'b3'⊕b1'1⊕1⊕0⊕10

P2=C2'⊕b4⊕'b2⊕'b1'1⊕1⊕0⊕10

P3=C3⊕'b3⊕'b2⊕'b1'=0⊕0⊕0⊕10

P3P2P1=000,传送无错,故欲传送的信息为1001

第6章计算机的运算方法

3.设x为整数,[x]补=1,x1x2x3x4x5,若要求x<-16,试问x1~x5应取何值?

解:

根据正数(或负数)的补码数值位(除符号位)越小,则对应真值越小(根据课本P225表6-1可得出上述规律)。

因为[-16]补=1,10000,若要x<-16,只需x1x2x3x4x5<10000,即x1=0,x2~x5任意即可。

4.设机器数字长为8位(含1位符号位在内)(好多同学都没留意这个前提条件),写出对应下列各真值的原码、补码和反码。

-13/64,100

解:

真值与不同机器码对应关系如下:

真值

-13/64

100

二进制

-0.001101

1100100

原码

1.0011010

01100100

补码

1.1100110

01100100

反码

1.1100101

01100100

5.已知[x]补,求[x]原和x。

[x5]补=1,0101;[x7]补=0,0111(注意正数的原、反、补码都相同)

解:

[x]补与[x]原、x的对应关系如下:

[x]补

1,0101

0,0111

[x]原

1,1011

0,0111

x

-1011

+111

9.当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?

解:

真值和机器数的对应关系如下:

9BH10011011

原码

补码

反码

移码

无符号数

对应十进制数

-27

-101

-100

+27

155

FFH11111111

原码

补码

反码

移码

无符号数

对应十进制数

-127

-1

-0

+127

255

10.在整数定点机中,设机器数采用1位符号位,写出±0的原码、补码、反码和

移码,得出什么结论?

解:

0的机器数形式如下:

(假定机器数共8位,含1位符号位在内)

真值

原码

补码

反码

移码

+0

00000000

00000000

00000000

10000000

-0

10000000

00000000

11111111

10000000

结论:

0的原码和反码分别有+0和-0两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。

11.已知机器数字长为4位(含1位符号位),写出整数定点机和小数定点机中原码、补码和反码的全部形式,并注明其对应的十进制真值。

(补码比原码和反码多表示一个最小的负数,整数形式为1,000,而小数形式为1.000,此处的“1有两层含义,一代表负数,二代表该位的权重为23或21)

整数定点机

小数定点机

原码

补码

反码

真值

原码

补码

反码

真值

0,000

0,000

0,000

+0

0.000

0.000

0.000

+0

0,001

0,001

0,001

1

0.001

0.001

0.001

0.125

0,010

0,010

0,010

2

0.010

0.010

0.010

0.250

0,011

0,011

0,011

3

0.011

0.011

0.011

0.375

0,100

0,100

0,100

4

0.100

0.100

0.100

0.500

0,101

0,101

0,101

5

0.101

0.101

0.101

0.625

0,110

0,110

0,110

6

0.110

0.110

0.110

0.750

0,111

0,111

0,111

7

0.111

0.111

0.111

0.875

1,000

0,000

1,111

-0

1.000

0.000

1.111

-0

1,001

1,111

1,110

-1

1.001

1.111

1.110

-0.125

1,010

1,110

1,101

-2

1.010

1.110

1.101

-0.250

1,011

1,101

1,100

-3

1.011

1.101

1.100

-0.375

1,100

1,100

1,011

-4

1.100

1.100

1.011

-0.500

1,101

1,011

1,010

-5

1.101

1.011

1.010

-0.625

1,110

1,010

1,001

-6

1.110

1.010

1.001

-0.750

1,111

1,001

1,000

-7

1.111

1.001

1.000

-0.875

1,000

-8

1.000

-1

12.设浮点数格式为:

阶码5位(含1位阶符),尾数11位(含1位数符)。

写出51/128、7.375所对应的机器数。

要求如下:

(1)阶码和尾数均为原码。

(2)阶码和尾数均为补码。

(3)阶码为移码,尾数为补码。

解:

据题意画出该浮点数的格式:

阶符1位

阶码4位

数符1位

尾数10位

将十进制数转换为二进制:

-1

x1=51/128=0.0110011B=2-1×0.110011Bx3=7.375=111.011B=23×0.111011B则以上各数的浮点规格化数为:

1)

[x1]浮=1,

0001;

0.1100110000

2)

3)

[x3]浮=0,

[x1]浮=1,

[x3]浮=0,

[x1]浮=0,

0011;

1111;

0011;

1111;

0.1110110000

0.1100110000

0.1110110000

0.1100110000

0011;

0.1110110000

[x3]浮=1,

14.设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取1位外,阶码和尾数各取几位?

按这样分配,该浮点数溢出的条件是什么?

解:

若要保证数的最大精度,应取阶码的基值=2。

若要表示±6万间的十进制数,由于32768(215)<6万<65536(216),则:

阶码除阶符外还应取5位(向上取2的幂)。

故:

尾数位数=32-1-1-5=25位,则该浮点数格式如下:

阶符1位

阶码5位

数符1位

尾数25位

按此格式,该浮点数上溢的条件为:

阶码≥25

16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。

设机器

数采用一位符号位,答案均用十进制表示。

(1)无符号数;

(2)原码表示的定点小数。

(3)补码表示的定点小数。

(4)补码表示的定点整数。

(5)原码表示的定点整数。

(6)浮点数的格式为:

阶码6位(含1位阶符),尾数10位(含1位数符)分别写出其正数和负数的表示范围。

(浮点数的表示范围可能有一定难度,在学习时若理解不了,可放弃)

(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。

(同上)解:

(1)无符号整数:

0~216-1,即:

0~65535;无符号小数:

0~1-2-16,即:

0~0.99998;

(2)原码定点小数:

-1+2-15~1-2-15,即:

-0.99997~0.99997(3)补码定点小数:

-1~1-2-15,即:

-1~0.99997

(4)补码定点整数:

-215~215-1,即:

-32768~32767

(5)原码定点整数:

-215+1~215-1,即:

-32767~32767

(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:

最大负数=1,11111;1.000000001,即-2-92-31最小负数=0,11111;1.111111111,即-(1-2-9)231则负数表示范围为:

-(1-2-9)231~-2-92-31最大正数=0,11111;0.111111111,即(1-2-9)231最小正数=1,11111;0.000000001,即2-92-31则正数表示范围为:

2-92-31~(1-2-9)231

(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大负数=1,00000;1.011111111,即-(2-1+2-9)2-32最小负数=0,11111;1.000000000,即-1231则负数表示范围为:

-1231~-(2-1+2-9)2-32最大正数=0,11111;0.111111111,即(1-2-9)231最小正数=1,00000;0.100000000,即2-12-32则正数表示范围为:

2-12-32~(1-2-9)231

17.设机器数字长为8位(包括一位符号位),对下列各机器数:

[x3]原=1.0011001;[y3]补=1.0011001;[z3]反=1.0011001进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。

(算术移位的首要原则就是符号位必须保持不变,好多同学移位后符号位变了(⊙﹏⊙))

解:

移位

[x3]原=1.0011001

[y3]补=1.0011001

[z3]反=1.0011001

算术左移一位

1.0110010

1.0110010

1.0110011

(正确)

(丢0,出错)

(丢0,出错)

算术左移两位

1.1100100

1.1100100

1.1100111

(正确)

(丢00,出错)

(丢00,出错)

算术右移一位

1.0001100

1.1001100

1.1001100

(丢1,精度降低)

(丢1,精度降低)

(正确)

算术右移两位

1.0000110

1.1100110

1.1100110

(丢01,精度降低)

(丢01,精度降低)

(丢01,精度降低)

19.设机器数字长为8位(含2位符号位)(布置作业时专门强调要采用双符号位,并判断溢出,真正按要求的同学占极少数),用补码运算规则计算下列各题。

(1)A=9/64,B=-13/32,求A+B。

(4)A=-87,B=53,求A-B。

解:

(一定要用移位的办法进行分数到二进制的转换,不要用除以2的方法,容易犯错)

(1)A=9/64=0.0010010B,B=-13/32=-0.0110100B

[A]补=00.0010010(小数不足8位,原码低位补0,凑齐8位)

[B]补=11.1001100

[A+B]补=00.0010010

+11.1001100

=11.1011110(此处一定要用竖式计算)

因为结果符号位相同,所以没发生溢出。

(一定要交代是否发生溢出,若无溢出,则后面需将结果转换为真值)

则A+B=-0.0100010B=-17/64

(4)A=-87=-1010111B,B=53=110101B

[A]补=11,0101001,

[B]补=00,0110101(整数不足8位,原码高位补0,凑齐8位),

[-B]补=11,1001011

[A-B]补=11,0101001

+11,1001011

=110,1110100

向高位的进位1自然丢掉,结果的双符号位不同,故发生溢出,且为负溢出。

(一定要交代是否发生溢出,如果发生溢出,则无需再将结果转为真值,因为此时结果是错的)

26.按机器补码浮点运算步骤,计算[x±y]补.

-011-010

(1)x=2-011×0.101100,y=2-010×(-0.011100);解:

由题意可得:

[x]补=11,101;00.101100,[y]补=11,110;11.100100

1)对阶:

[E]补=[Ex]补+[-Ey]补=11,101+00,010=11,111<0,即E=-1

故Ex应向Ey对齐,则x的尾数向右移一位,阶码加1,即:

[x]'补=11,110;00.010110

2)尾数相加:

[Mx]补+[My]补=00.010110+11.100100=11.111010则[x+y]补=11,110;11.111010尾数出现“11.111××”,需要左规。

[Mx]补+[-My]补=00.010110+00.011100=00.110010则[x-y]补=11,110;00.110010,尾数无需规格化。

3)规格化:

左规3此后后,[x+y]补=11,011;11.010000

4)舍入:

5)溢出:

-101-010

所以,x+y=2-101×(-0.110000),x-y=2-010×0.110010

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2