计算机组成原理作业参考答案1.docx
- 文档编号:11082358
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:13
- 大小:22.52KB
计算机组成原理作业参考答案1.docx
《计算机组成原理作业参考答案1.docx》由会员分享,可在线阅读,更多相关《计算机组成原理作业参考答案1.docx(13页珍藏版)》请在冰豆网上搜索。
计算机组成原理作业参考答案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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 作业 参考答案