计算机组成原理课后习题解答Word文件下载.docx

上传人:b****6 文档编号:16928986 上传时间:2022-11-27 格式:DOCX 页数:85 大小:749.03KB
下载 相关 举报
计算机组成原理课后习题解答Word文件下载.docx_第1页
第1页 / 共85页
计算机组成原理课后习题解答Word文件下载.docx_第2页
第2页 / 共85页
计算机组成原理课后习题解答Word文件下载.docx_第3页
第3页 / 共85页
计算机组成原理课后习题解答Word文件下载.docx_第4页
第4页 / 共85页
计算机组成原理课后习题解答Word文件下载.docx_第5页
第5页 / 共85页
点击查看更多>>
下载资源
资源描述

计算机组成原理课后习题解答Word文件下载.docx

《计算机组成原理课后习题解答Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课后习题解答Word文件下载.docx(85页珍藏版)》请在冰豆网上搜索。

计算机组成原理课后习题解答Word文件下载.docx

⑹指令和数据均采用二进制方式表示,运算亦采用二进制方式;

⑺机器以运算器为中心,输入/输出设备与存储器间的数据传送都经过运算器。

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

取数a到累加器AC中

1000000001

000011

(AC)+b,结果存于AC中

1000000010

(AC)+c,结果存于AC中

1000000011

000010

将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程序执行过程的具体操作如下:

(1)PC→MAR、MAR→ABus、Read→CBus;

MAR=PC=1000000000,取指令开始

(2)WMFC,(PC)+1→PC;

PC=1000000001(下条指令地址)

(3)MDR→IR;

IR=0000010000100000,取指令完成

ID对OP(IR)译码;

CU得知当前为取数指令

(4)AD(IR)→MAR、MAR→ABus、Read→Cbus;

MAR=0000100000,执行指令开始

(5)WMFC

(6)MDR→AC;

AC=MDR=a,执行指令完成

(7)PC→MAR、MAR→ABus、Read→CBus;

MAR=PC=1000000001,取指令开始

(8)WMFC,(PC)+1→PC;

PC=1000000010(下条指令地址)

(9)MDR→IR;

IR=0000110000100001,取指令完成

CU得知当前为加法指令

(10)AD(IR)→MAR、MAR→ABus、Read→CBus;

MAR=0000100001,执行指令开始

(11)WMFC

(12)(MDR)+(AC)→AC;

AC=a+b,执行指令完成

(13)PC→MAR、MAR→ABus、Read→CBus;

MAR=PC=1000000010,取指令开始

(14)WMFC,(PC)+1→PC;

PC=1000000011(下条指令地址)

(15)MDR→IR;

IR=0000110000100010,取指令完成

(16)AD(IR)→MAR、MAR→ABus、Read→CBus;

MAR=0000100010,执行指令开始

(17)WMFC

(18)(MDR)+(AC)→AC;

AC=a+b+c,执行指令完成

(19)PC→MAR、MAR→ABus、Read→CBus;

MAR=PC=1000000011,取指令开始

(20)WMFC,(PC)+1→PC;

PC=1000000100(下条指令地址)

(21)MDR→IR;

IR=0000100000001000,取指令完成

ID对OP(IR)译码;

CU得知当前为存数指令

(22)AD(IR)→MAR、MAR→ABus、Write→Cbus;

(23)AC→MDR、MDR→DBus、WMFC;

MDR=AC=a+b+c,执行指令完成

(24)PC→MAR、MAR→ABus、Read→Cbus;

MAR=PC=1000000100,取指令开始

(25)WMFC,(PC)+1→PC;

PC=1000000101(下条指令地址)

(26)MDR→IR;

IR=000100**********,取指令完成

ID对OP(IR)译码;

CU得知当前为停机指令

(27)机器自动停机;

执行停机指令完成

从程序执行过程可以看出:

由于指令存放在存储器中,故指令执行过程分为取指令(含分析指令)、执行指令两个阶段;

由于存储器同时只接收一个访问操作,故程序执行过程是循环的指令执行过程,循环变量为PC中的指令地址;

只要按照程序逻辑顺序改变(PC),可以实现按程序逻辑顺序执行程序的目标。

8.指令和数据均存放在存储器中,计算机如何区分它们?

由于存储器访问只使用地址和命令(Read/Write)信号,而指令和数据均以二进制编码形成存放在存储器中,因此,从存储器取得的信息本身是无法区分是指令还是数据的。

计算机只能通过信息的用途来区分,即取指令时取得的是指令,指令执行时取操作数或写结果对应的信息是数据。

即计算机通过程序执行过程或指令执行过程的不同阶段来区分。

9.在某CPU主频为400MHz的计算机上执行程序A,程序A中指令类型、执行数量及平均时钟周期数如下表所示。

指令类型

指令执行数量

平均时钟周期数(/指令)

整数

45000

1

数据传送

75000

2

浮点数

8000

4

条件转移

1500

求该计算机执行程序A时的程序执行时间、平均CPI及MIPS。

CPU时钟周期TC=1/f=1/(400×

106)=2.5ns

程序执行时间TCPU=[45000×

1+75000×

2+8000×

4+1500×

2]×

2.5=0.575ms。

平均CPI=(45000×

2)

÷

(45000+75000+8000+1500)

=1.776(时钟周期/指令)

MIPS=(45000+75000+8000+1500)/(0.575×

10-3×

106)=225.2百万条/秒

10.冯·

诺依曼模型计算机的性能瓶颈有哪些?

简述缓解性能瓶颈严重性的方法。

诺依曼模型计算机的性能瓶颈有CPU-MEM瓶颈、指令串行执行瓶颈两个。

对缓解CPU-MEM瓶颈而言,主要目标是减少MEM访问延迟、提高MEM传输带宽,常用的方法有采用多种存储器构成层次结构存储系统、采用多级总线互连、采用并行结构存储器等。

对缓解指令串行执行瓶颈而言,主要目标是尽可能实现并行处理,常用的方法有采用流水线技术、数据流技术、超标量技术、超线程技术、多核技术等。

第2章

1.解释概念或术语:

进制、机器数、原码、补码、移码、变形补码、BCD码、交换码、内码、奇校验、CRC、上溢、下溢、左规、对阶、溢出标志、进位标志、部分积、Booth算法、交替加减法除法、警戒位、全加器、并行加法器、行波进位、先行进位。

2.完成下列不同进制数之间的转换

(1)(347.625)10=()2=()8=()16

(2)(9C.E)16=()2=()8=()10

(3)(11010011)2=()10=()8421BCD

(1)(347.625)10=(101011011.101)2=(533.5)8=(15B.A)16

(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)[X]原=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,

[X]移=0011101时的X=-100011=-35。

7.若[X]补=0.x-1x-2x-3x-4x-5,[Y]补=1y4y3y2y1y0,求下列几种情况时,x-i或yi的取值。

(1)X>1/4

(2)1/8≥X>1/16(3)Y<-16(4)-32<Y≤-8

(1)[1/4]补=0.01000,

故[(x-1=0)∧(x-3=1∨x-4=1∨x-5=1)]∨(x-1=1)时X>1/4;

(2)[1/8]补=0.00100,[1/16]补=0.00010,

故(x-1=0∧x-2=0)∧[(x-3=1∧x-4=0∧x-5=0)∨(x-3=0∧x-4=1∧x-5=1)]时1/8≥X>1/16;

(3)[-16]补=110000,故y4=0时Y<-16;

(4)[-8]补=111000,[-32]补=100000,故(y4=1∧y3=1∧y2=0∧y1=0∧y0=0)∨(y4

y3=1)∨[y4=0∧y3=0∧(y2=1∨y1=1∨y0=1)]时-32<Y≤-8。

8.冗余校验的基本原理是什么?

数据发送时,除发送数据信息外,还冗余发送按某种规律形成的校验信息;

数据接收时,用所接收数据信息形成新的校验信息,与所接收的校验信息比较,以此判断是否发生了错误,出错时报告出错或自动校正错误。

9.若采用奇校验,下述两个数据的校验位的值是多少?

(1)0101001

(2)0011011

(1)数据0101001的奇校验位值为0

1=0;

(2)数据0011011的奇校验位值为0

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位校验码中的信息排列:

m8m7m6m5p4m4m3m2p3m1p2p1。

(3)设各校验组采用偶校验编码方式,各校验组校验位的值为:

p4=m8

m7

m6

m5=0

0=0,

p3=m8

m4

m3

m2=0

p2=m7

m1=1

1=1,

p1=m7

m5

m2

1=1;

(4)海明偶校验码为:

011001100111。

12.若机器数表示时字长为8位,写出下列情况时它能够表示的数的范围(十进制)。

(1)无符号整数;

(2)原码编码的定点整数;

(3)补码编码的定点整数;

(4)原码编码的定点小数;

(5)补码编码的定点小数。

(1)无符号整数的表示范围是00000000~11111111,即0~255;

(2)原码定点整数的表示范围是-1111111~+1111111,即-127~+127;

(3)补码定点整数的表示范围是-(1111111+1)~+1111111,即-128~+127;

(4)原码定点小数的表示范围是-0.1111111~+0.1111111,即-127/128~+127/128;

(5)补码定点小数的表示范围是-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-9×

2-32~+(1-2-9)×

2+31,

浮点数负数区的范围为:

-1×

2+31~-2-9×

2-32;

(2)规格化浮点数正数区的范围为:

+2-1×

规格化浮点数负数区的范围为:

2+31~-(2-1+2-9)×

2-32。

16.若浮点数表示格式为:

6位阶码(含1位阶符)、10位尾数(含1位数符)。

分别写出阶码和尾数均为原码及均为补码时,下列数值为规格化数时的机器码。

(1)+51/128

(2)-51/128(3)-1/64

(1)阶码和尾数均为原码时,规格化数的机器码为1000010110011000,

阶码和尾数均为补码时,规格化数的机器码为1111110110011000;

(2)阶码和尾数均为原码时,规格化数的机器码为1000011110011000,

阶码和尾数均为补码时,规格化数的机器码为1111111001101000;

(3)阶码和尾数均为原码时,规格化数的机器码为1001011100000000,

阶码和尾数均为补码时,规格化数的机器码为1110101000000000。

17.若机器中单精度浮点数采用IEEE754标准表示。

(1)对机器码为(99D00000)16及(59800000)16的浮点数,请写出它们的真值;

(2)请写出-51/128的机器码。

(1)由于机器码(99D00000)16=10011001110100000000000000000000B,

故浮点数的符号码S=1、阶码E=00110011、尾数码M=10100000000000000000000,

因1<E<255,故机器码表示的为规格化浮点数,

(99D00000)16的真值N=(-1)1×

251-127×

1.10100000000000000000000=-0.1101×

2-76;

由于机器码(59800000)16=01011001100000000000000000000000B,

故浮点数的符号码S=0、阶码E=10110

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

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1