计算机组成原理习题解答全解.docx
- 文档编号:27429774
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:109
- 大小:1.52MB
计算机组成原理习题解答全解.docx
《计算机组成原理习题解答全解.docx》由会员分享,可在线阅读,更多相关《计算机组成原理习题解答全解.docx(109页珍藏版)》请在冰豆网上搜索。
计算机组成原理习题解答全解
计算机组成原理》习题解答
第1章
1.解释概念或术语:
实际机器、虚拟机器,机器指令、机器指令格式,主机、CPU、主存、I/O、PC、IR、ALU、CU、AC、MAR、MDR,机器字长、存储字长、指令字长、CPI、Tc、主频、响应时间、吞吐量、MIPS、MFLOPS。
答:
略
2.如何理解计算机系统的层次结构?
说明高级语言、汇编语言及机器语言的差别与联
系。
答:
⑴计算机系统是由软件和硬件结合而成的整体。
为了提高计算机系统的好用性,程
序设计语言的描述问题能力越来越强,各种程序设计语言大体上是一种层次结构,即高等级编程语言指令包含低等级编程语言指令的全部功能。
对于使用不同层次编程语言的程序员来说,他们所看到的同一计算机系统的属性是不同的,这些属性反映了同一计算机系统的不同层次的特征,即同一计算机系统可划分成多个层次结构,不同层次的结构反映的计算机系统的特征不同而已。
⑵机器语言是能够被计算机硬件直接识别和执行的程序设计语言,机器语言是一种面向
硬件的、数字式程序设计语言;汇编语言和高级语言均用符号表示机器语言指令,指令很容易阅读和编写、但不能被硬件直接识别和执行,它们均是一种面向软件的、符号式程序设计语言;相对于汇编语言而言,高级语言描述问题的能力更强;高级语言和汇编语言程序必须翻译成机器语言程序后,才能在计算机硬件上执行。
3.计算机系统结构、计算机组成的定义各是什么?
两者之间有何关系?
答:
计算机系统结构是指机器语言程序员或编译程序编写者所看到的计算机系统的属
性,包括概念性结构和功能特性两个方面。
主要研究计算机系统软硬件交界面的定义及其上下的功能分配。
计算机组成是指计算机硬件设计人员所看到的计算机系统的属性。
主要研究如何合理地
逻辑实现硬件的功能。
计算机组成是计算机系统结构的逻辑实现。
4.冯诺依曼模型的存储程序原理包含哪些内容、对计算机硬件和软件有哪些要求?
冯诺依曼模型计算机的特点有哪些?
答:
存储程序原理是指程序和数据预先存放在存储器中,机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行。
存储程序原理要求存储器是由定长单元组成的、按地址访问的、一维线性空间结构的存储部件;要求软件指令支持用地址码表示操作数在存储器中的地址,指令长度为存储单元长
度的倍数,编程语言中必须有转移型指令,以实现程序存储顺序到程序逻辑顺序的转变。
冯诺依曼模型计算机的特点可归纳为如下几点:
⑴计算机由运算器、控制器、存储器、输入设备和输出设备组成;
⑵存储器是由定长单元组成的、按地址访问的、一维线性空间结构;
⑶程序由指令组成,指令和数据以等同地位存放在存储器中;
⑷机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行;⑸指令由操作码和地址码组成,操作码用于表示操作的性质,地址码用于表示操作数在
存储器中的地址;
⑹指令和数据均采用二进制方式表示,运算亦采用二进制方式;
⑺机器以运算器为中心,输入/输出设备与存储器间的数据传送都经过运算器。
5.现代计算机均采用冯诺依曼模型、但进行了改进,画出现代计算机硬件组成及结构图,并说明各部件的作用。
答:
现代计算机结构大多在冯诺依曼模型基础上进行了改进,以进一步提高系统的性能。
改进主要包括以存储器为中心、多种存储器共存、采用总线互连三个方面。
基本的硬件组成及结构图如下:
CPU由运算器和控制器组成,运算器负责实现数据加工,实现算术逻辑运算;控制器负责指挥和控制各部件协调地工作,实现程序执行过程。
存储器由主存和辅存(如磁盘)组成,负责实现信息存储。
主存由小容量、快速元器件组成,存放近期常用程序和数据;辅存由大容量、低价格元器件组成,存放所有的程序和数据;
主存可被CPU直接访问,这样在提高访存速度的同时,可降低存储器总成本。
I/O设备负责实现信息的输入和输出,以及信息的格式变换。
通过总线实现部件互连的好处是可以实现CPU的操作标准化,而操作标准化的具体实
现部件是I/O接口,它负责缓冲和中转相关操作。
6.若某计算机的机器指令格式如表1.2所示,请写出求s=a+b+c的机器语言程序,其中
a、b、c存放在起始地址为0000100000的连续3个主存单元中,而s则要求存放到地址为
0000001000的主存单元中。
解:
假设程序第一条指令存放在第1000000000号存储单元中,则程序清单如下:
主存单兀地址(二进制)
指令(二进制)
注释
操作码
地址码
0000001000
s
结果数据s
0000100000
a
原始数据a
0000100001
b
原始数据b
0000100010
c
原始数据c
1000000000
000001
0000100000
取数a到累加器AC中
1000000001
000011
0000100001
(AC)+b,结果存于AC中
1000000010
000011
0000100010
(AC)+c,结果存于AC中
1000000011
000010
0000001000
将AC中内容存到s所在主存单兀中
1000000100
000100
**********
停机,地址码空闲(值可任意)
7.画出基于累加器CPU的主机框图,说明题6的机器语言程序的执行过程(尽可能详细)。
简述执行过程与冯•诺依曼模型的存储程序原理的关系。
答:
基于累加器CPU的的主机框图如下:
假设s=a+b+c程序已被调入主存、首指令地址已写入到PC中,即(PC)=1000000000。
程序运行启动后,计算机硬件自动地、逐条地、按(PC)为指令地址实现取指令、分析指令、
执行指令的对应操作,直到执行到停机指令为止。
假设IR中操作码记为OP(IR)、地址码记
为AD(IR),则s=a+b+c程序执行过程的具体操作如下:
从程序执行过程可以看出:
由于指令存放在存储器中,故指令执行过程分为取指令
分析指令)、执行指令两个阶段;由于存储器同时只接收一个访问操作,故程序执行过程是循环的指令执行过程,循环变量为PC中的指令地址;只要按照程序逻辑顺序改变(PC),可
以实现按程序逻辑顺序执行程序的目标。
8.指令和数据均存放在存储器中,计算机如何区分它们?
答:
由于存储器访问只使用地址和命令(Read/Write)信号,而指令和数据均以二进制编
码形成存放在存储器中,因此,从存储器取得的信息本身是无法区分是指令还是数据的。
计算机只能通过信息的用途来区分,即取指令时取得的是指令,指令执行时取操作数或
写结果对应的信息是数据。
即计算机通过程序执行过程或指令执行过程的不同阶段来区分。
9.在某CPU主频为400MHz的计算机上执行程序A,程序A中指令类型、执行数量及平均时钟周期数如下表所示。
指令类型
指令执行数量
平均时钟周期数(/指令)
整数
45000
1
数据传送
75000
2
浮点数
8000
4
条件转移
1500
2
求该计算机执行程序A时的程序执行时间、平均CPI及MIPS。
解:
CPU时钟周期Tc=1/f=1/(400X06)=2.5ns
程序执行时间TCpu=[45000X1+75000X2+8000X4+1500X2]>2.5=0.575ms。
平均CPI=(450002+75000X2+8000X4+1500X2)
琨45000+75000+8000+1500)
=1.776(时钟周期/指令)
36
MIPS=(45000+75000+8000+1500)/(0.57510X10)=225.2百万条/秒
10.冯诺依曼模型计算机的性能瓶颈有哪些?
简述缓解性能瓶颈严重性的方法。
答:
冯诺依曼模型计算机的性能瓶颈有CPU-MEM瓶颈、指令串行执行瓶颈两个。
对缓解CPU-MEM瓶颈而言,主要目标是减少MEM访问延迟、提高MEM传输带宽,常用的方法有采用多种存储器构成层次结构存储系统、采用多级总线互连、采用并行结构存
储器等。
对缓解指令串行执行瓶颈而言,主要目标是尽可能实现并行处理,常用的方法有采用流
水线技术、数据流技术、超标量技术、超线程技术、多核技术等。
第2章
1.解释概念或术语:
进制、机器数、原码、补码、移码、变形补码、BCD码、交换码、内码、奇校验、CRC、上溢、下溢、左规、对阶、溢出标志、进位标志、部分积、Booth算
法、交替加减法除法、警戒位、全加器、并行加法器、行波进位、先行进位。
答:
略
2.
完成下列不同进制数之间的转换
解:
(1)(347.625)10=(101011011.101)
2)(9C.E)16=(10011100.1110)2=(234.7)8=(156.875)10
3)(11010011)2=(211)10=(001000010001)8421BCD
3.
对下列十进制数,
分别写出机器数长度为
8位(含1位符号位)时的原码及补
码。
(1)
+23/128
(2)—35/64
(3)43
(4)—72
(5)
+7/32
(6)—9/16
(7)+91(8)—33
解:
(1)
[+23/128]
原=0.0010111,
[+23/128]
补=0.0010111;
(2)
[-35/64]
原=1.1000110,
[-35/64]
补=1.0111010;
(3)
[43]原=00101011,
[43]补=00101011;
(4)
[-72]原=
11001000,
[-72]补=
10111000;
(5)
[+7/32]原
=0.0011100,
[+7/32]补
=0.0011100;
(6)
[-9/16]原
=1.1001000,
[-9/16]补
=1.0111000;
(7)
[+91]原=
01011011,
[+91]补=
01011011;
(8)
[-33]原=
10100001,
[-33]补=
11011111。
4.对下列机器数(含1位符号位),若为原码时求补码及真值,若为补码或反码时求原码及真值。
(1)[X]原=100011
(2)[X]补=0.00011(3)[X]反=1.01010
(4)[X]原=1.10011(5)[X]补=101001(6)[X]反=101011
解:
(1)[X]补=111101,X=-00011=-3;
(2)[XI原=0.00011,X=+0.00011=+3/32;
(3)[X]原=1.10101,X=-0.10101=-21/32;
(4)[X]补=1.01101,X=-0.10011=-19/32;
(5)[X]原=110111,X=-10111=-23/32;
(6)[X]原=110100,X=-10100=-20/32。
5.
(1)若[X]补=1.01001,求[—X]补及X;
(2)若[—X]补=101001,求[X]补及X。
解:
(1)[-X]补=0.10111,X=-0.10111=-23/32;
(2)[X]补=010111,X=+10111=+23。
6.
(1)若X=+23及一42,分别求8位长度的[X]移;
(2)若[X]移=1100101及0011101,分别求X。
解:
(1)[+23]移=10010111,[-42]移=01010110;
(2)[X移=1100101时的X=+100101=+37,[XI移=0011101时的X=-100011=-35。
7.若[X]补=0.x—伙―2X—3X—4X—5,[Y]补=1y4y3y2y1yo,求下列几种情况时,x-i或yi的取
值。
(1)X>1/4
(2)1/8>X>1/16(3)Yv—16(4)—32vY<—8
解:
(1)[1/4]补=0.01000,
故[(x-1=0)A(x-3=1Vx-4=1Vx-5=1)]V(x-1=1)时X>1/4;
(2)[1/8]补=0.00100,[1/16]补=0.00010,
故(x-1=0AX-2=0)A[(X-3=1AX-4=0Ax-5=0)V(x-3=0Ax-4=1Ax-5=1)]时1/8>X>1/16;
(3)[-16]补=110000,故y4=0时Yv—16;
(4)[-8]补=111000,[-32]补=100000,故(y4=1Ay3=1Ay2=0A屮=0Ayo=0)V(y4二y3=1)V[y4=0Ay=0A(y2=1Vy1=1Vyo=1)]时一32vY<—8。
8.冗余校验的基本原理是什么?
答:
数据发送时,除发送数据信息外,还冗余发送按某种规律形成的校验信息;数据接收时,用所接收数据信息形成新的校验信息,与所接收的校验信息比较,以此判断是否发生
了错误,出错时报告出错或自动校正错误。
9.若采用奇校验,下述两个数据的校验位的值是多少?
(1)0101001
(2)0011011
答:
(1)数据0101001的奇校验位值为0二1二0二1二0二0二1二1=0;
(2)数据0011011的奇校验位值为0二0二1二1二0二1二1二1=1。
10.若下列奇偶校验码中只有一个有错误,请问采用的是奇/偶校验?
为什么?
(1)10001101
(2)01101101(3)10101001
答:
上述奇偶校验码采用的是偶校验编码方式。
由于三个奇偶校验码中分别有偶数、奇数、偶数个“1”,而只有一个校验码有错误,
故第2个奇偶校验码(01101101)有错误;
又由于第2个奇偶校验码有奇数个“1”,故校验码采用的是偶校验编码方式。
11.设有8位数据信息01101101,请写出求其海明校验码的过程。
解:
本题中数据位数n=8,数据信息m8…m1=01101101,设检验信息位数为k位,
(1)先求得校验信息位数k,根据2k-1>8+k的要求,可得k=4位;
(2)列出n+k=8+4=12位校验码中的信息排列:
m$m7m6m5p4m4m3m2p3m1p2p1°
(3)设各校验组采用偶校验编码方式,各校验组校验位的值为:
P4=m8二m?
二m6二m5=0二1二1二0=0,
p3=m8二m4二m3二m2=0二1二1二0=0,
p2=m?
二m6二m4二m3二m1=1二1二1二1二1=1,
p1=m?
二m5二m4二m2二m1=1二0二1二0二1=1;
(4)海明偶校验码为:
011001100111—。
12.若机器数表示时字长为8位,写出下列情况时它能够表示的数的范围(十进制)。
(1)无符号整数;
(2)原码编码的定点整数;
(3)补码编码的定点整数;(4)原码编码的定点小数;
5)补码编码的定点小数。
-(1111111+1)〜+1111111,即-128〜+127;
-0.1111111〜+0.1111111,即-127/128〜+127/128;-1.0000000〜+0.1111111,即-128/128〜+127/128。
13.对两个8位字长的定点数9BH及FFH,分别写出它们采用原码编码、补码编码及移码编码时的十进制整数的真值,并写出它们表示为无符号数时的十进制真值。
解:
机器码9BHFFH
原码编码的真值(整数)-27-127
补码编码的真值(整数)-101-1
移码编码的真值(整数)+27+127
无符号编码的真值(整数)155255
14.若浮点数表示格式(从高位到低位)为:
阶码6位(含1位阶符)、尾数10位(含
1位数符),请写出51/128、-27/1024、7.375、-86.5所对应的机器数。
(1)阶码和尾数均为原码;
(2)阶码和尾数均为补码;
(3)阶码为移码、尾数为补码。
解:
(1)阶码和尾数均为原码时,
[51/128]浮=[0.0110011]浮=1000010110011000或0000000011001100或…,
[-27/1024]浮=[-0.0000011011]浮=1001011110110000或1000011000011011或…,
[7.375]浮=[111.011]浮=0000110111011000或0001100000111011或…,[-86.5]浮=[-1010110.1]浮=0001111101011010或0010001010101101或…;
(2)阶码和尾数均为补码时,
[51/128]浮=1111110110011000或0000000011001100或…,
[-27/1024]浮=1110111001010000或1111111111100101或…,
[7.375]浮=0000110111011000或0001100000111011或…,
[-86.5]浮=0001111010100110或0010001101010011或…;
(3)阶码为移码、尾数为补码时,
[51/128]浮=0111110110011000或1000000011001100或…,
[-27/1024]浮=0110111001010000或0111111111100101或…,
[7.375]浮=1000110111011000或1001100000111011或…,[-86.5]浮=1001111010100110或1010001101010011或…。
15.若浮点数表示格式采用6位阶码(含1位阶符)、10位尾数(含1位数符),阶码和尾数均采用补码编码。
(1)写出浮点数能表示的正数及负数的范围;
(2)写出规格化浮点数能表示的正数及负数的范围。
解:
(1)浮点数正数区的范围为:
+2-9X2-32〜+(1-2-9)X2+31,
浮点数负数区的范围为:
-1X2+31〜-2-9X2-32;
-1-32-9+31
(2)规格化浮点数正数区的范围为:
+2-1X2-32〜+(1-2-9)X2+31,
规格化浮点数负数区的范围为:
-1X2+31〜-(2-1+2-9)X2-32。
16.若浮点数表示格式为:
6位阶码(含1位阶符)、10位尾数(含1位数符)。
分别写
出阶码和尾数均为原码及均为补码时,下列数值为规格化数时的机器码。
1)+51/128
(2)-51/128(3)-1/64
解:
(1)阶码和尾数均为原码时,规格化数的机器码为
阶码和尾数均为补码时,规格化数的机器码为
2)阶码和尾数均为原码时,规格化数的机器码为
阶码和尾数均为补码时,规格化数的机器码为
17.若机器中单精度浮点数采用IEEE754标准表示。
(1)对机器码为(99D00000)16及(59800000)16的浮点数,请写出它们的真值;
(2)请写出-51/128的机器码。
解:
(1)由于机器码(99D00000)16=10011001110100000000000000000000B,
故浮点数的符号码S=1、阶码E=00110011、尾数码M=10100000000000000000000,因1vEV255,故机器码表示的为规格化浮点数,
(99D00000)16的真值N=(-1)1X251-127X1.10100000000000000000000=-0.1101X2-76;由于机器码(59800000)16=01011001100000000000000000000000B,
故浮点数的符号码S=0、阶码E=10110011、尾数码M=00000000000000000000000,因1vEv255,故机器码表示的为规格化浮点数,
(59800000)16的真值N=(-1)0X2179-127X1.00000000000000000000000=+0.1X2+53。
1125-127
(2)(-51/128)10=(-0.0110011)2=(-1)1X(1.10011)X2125-127,
则用IEEE754标准表示时,符号码S=1、阶码E=125、尾数M=0.10011,故-51/128的单精度浮点数机器码为10111110110011000000000000000000。
18.字符在计算机中的表示可看作无符号定点整数,对字符的操作有比较是否相同、判断前后次序等关系运算,需要哪些支持才能用算术运算和逻辑运算实现关系运算?
答:
由于字符数据可看作无符号定点整数,故字符操作的结果可以用两个无符号定点整数关系运算的结果表示。
19.各种应用数据在计算机中一般表示成哪几种数据类型?
对某个机器数,如何才能够
知道它的数据类型?
答:
计算机中的应用数据一般有数值数据和非数据数据两大类型,数值数据的运算均为
算术运算,数据可表示为定点数或浮点数两种数据类型;非数值数据的运算比较复杂,可能为逻辑运算,或算术运算或关系运算,数据可表示为逻辑数,或定点数或浮点数。
故应用数
据在计算机中一般表示成定点数、浮点数及逻辑数三种数据类型。
由于计算机中均用二进制表示数据和指令,只能通过约定方式隐含表示符号及小数点
等。
而这种约定只在数据操作时才有实际意义,因此,对于某机器数,从数据本身无法知道
它的数据类型,只能通过对其操作的指令来表明这个数的数据类型。
如对32位机器数
99D00000H当它为浮点运算指令的操作数时,它是浮点数;当它为定点运算指令的操作数时,它是定点数。
20.若8位机器码为0010100,请问逻辑左移多少次后溢出?
逻辑右移多少次后再左移同样多次数时机器码开始不同?
请分别说明原因。
答:
逻辑左移3位后溢出,因为左起第一个“1”被移丢,故溢出。
逻辑右移3位后再逻辑左移3位时机器码与原来不同,因为机器码0010100t0000010
t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 习题 解答