文档库 最新最全的文档下载
当前位置:文档库 › 组成原理课后习题答案

组成原理课后习题答案

组成原理课后习题答案
组成原理课后习题答案

授课教材课后习题答案

第一章计算机系统概论

1.比较数字计算机和模拟计算机的特点。

答:模拟计算机的特点是数值由连续量来表示,运算过程也是连续的,它用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式。数字计算机的主要特点是按位运算,并且不连续地跳动计算,它用数字0和1表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。2.数字计算机如何分类?分类的依据是什么?

答:数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。通用计算机又可分为巨型机、大型机、中型机、小型机、微型机、单片机。

3.数字计算机有哪些主要应用?

答:数字计算机的主要应用有:科学计算、自动控制、测量和测试、信息处理(事务处理、管理应用)、教育和卫生、家用电器、人工智能等。

4.冯.诺依曼型计算机的主要设计思想是什么?它由哪些主要组成部分?

答:将解题的程序(指令序列)存放在存储器中称为存储程序,而控制器依据存储的程序来控制全机协调地完成计算机任务叫做程序控制,存储程序并按地址顺序执行是冯.诺依曼型计算机的主要设计思想,也是机器自动工作的关键。它由运算器,控制器,存储器,接口及I/O设备组成。

5.什么是存储容量?什么是单元地址?什么是数据字,什么是指令字?

答:存储器所有存储单元的总数称为存储器的存储容量。存储器是由许多存储单元组成的,每个存储单元都有编号,称为单元地址。由于计算机使用的信息既有指令又有数据,如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。

6.什么是指令?什么是程序?

答:每一个基本操作称为一条指令,而解算某一问题的一串有序指令序列,称为程序。7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?

答:计算机可以从时间和空间两方面来区分指令和数据,在时间上,取指周期从内存中取出的是指令,而执行周期从内存取出或往内存中写入的是数据,在空间上,从内存中取出指令送控制器,而执行周期从内存从取的数据送运算器、往内存写入的数据也是来自于运算器。8.什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。

答:内存是指计算机内的半导体存储器,包括ROM和RAM。ROM用来存放监控程序和一些不变的数据表格,RAM存放正在运算的程序和正在处理的数据,外存通常指的是硬盘、磁盘、磁带、光盘存储器等,用于存放暂不运行的程序和暂不处理的数据。CPU是运算器和控制器的合称,适配器是指连接主机与外设一个中间电路,也叫接口,其作用相当于一个转换器,保证外设与主机要求的相适应的形式发送和接收信息。

9.计算机的系统软件包括哪几类?说明它们的用途。

答:计算机的软件包括系统软件和应用软件。系统软件用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。它可分为四类:(1)各种服务性程序,如诊数据程序、排错程序、练习程序等;(2)语言程序,如汇编程序、编译程序、解释程序等;(3)操作系统;(4)数据库管理系统(DBMS)。而应用软件是用户利用计算机来解决某些问题而编制的程序,如工程设计程序,数据加工程序,自动控制程序,企业管理程序、情报检索程序、科学计算程序等。

10.说明软件发展的演变过程。

答:在早期的计算机中,人们是直接用机器语言来编写程序的,这种程序称为手编程序或目的程序;后来,为了编写程序方便和提高使用效率,人们使用助记符来编写程序,称为汇编程序;为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序,源程序通过编译系统产生编译程序,也可通过解释系统进行解释执行;随着计算机技术的日益发展,人们又创造出操作系统;随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格,于是产生了数据库管理系统。11.现代计算机系统如何进行多级划分?这种分级观点对计算机设计会产生什么影响?

答:现代计算机系统可分为五个层次,第一级是微程序设计级;第二级是一般机器级;第三级是操作系统级;第四级是汇编语言级;第五级是高级语言级。其中前二级是硬件系统、后两级是软件系统对硬件系统的功能扩展,第三级是可以说是软件与硬件的一个交界面。这种分级不是绝对的,也不是惟一的,比如随着大规模集成电路和固件的发展,硬件的功能在不断往上层延伸。而且,不同的硬件结构,其层次也不同,如硬布线控制器的计算机,就没有微程序级。

12.为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转化的媒介是什么?答:随着大规模集成电路和计算机系统结构的发展,实体硬件机的功能范围不断从一、二级向三、四级扩展,原因有:

(1)容量大、价格低、体积小、可改写的只读存储器提供了软件固化的良好物质基础,固件即固化的软件,从功能上讲是软件,从形态上看又是硬件。

(2)在一片硅单晶芯片上制作复杂的逻辑电路已实际可行,这又为扩大指令功能提供了相应的技术手段,而且成本降低使实用成为可能。因此,传统的软件今后有可能“固化”甚至“硬化”而变成硬件,而在不追求高速处理时为了降低硬件成本,也可以用软件来模拟硬件的功能。

13.“计算机应用”与“应用计算机”在概念上等价吗?用学科角度和计算机系统的层次结构来说明你的观点。

答:计算机应用是一个学科的名词,它包含计算机网络、信息管理、数据库技术、人工智能、计算机辅助设计等多个领域,而应用计算机,是从计算机层次结构的角度来看,不同的应用者,应用的方法和目标是不同的,如CPU的设计者是在微程序级应用计算机,目的是为后面的应用者提供功能强大的指令系统、而操作系统的设计者是在汇编语言级应用计算机,目的是扩展硬件功能,为后面的应用者提供良好的操作环境和手段。

第二章运算方法和运算器

1.写出下列各数的原码、反码、补码表示(用8位二进制数),其中MSB是最高位(又是符号位),LSB是最高位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。

(1) -35/64 (2)23/128 (3) –127 (4)用小数表示-1 (5)用整数表示-1

解:(1)-35/64 = -0.100011

原码1.1000110 反码1.0111001 补码1.0111010

(2)23/128= 0.0010111

原码0.0010111 反码0.0010111 补码0.0010111

(3) –127=1111111

原码11111111 反码10000000 补码10000001

(4) 用小数表示-1

补码1.0000000(原码和反码不存在)

(5) 用整数表示-1

原码10000001 反码11111110 补码111111111

2.设[x]

补=a

. a

1

a

2 …

a

6

其中a

i

取0或1,若要x>-0.5,求a

0,

a

1 ,

a

2

,…,a

6

的取

值。

解:[x]补 = a

0. a

1

a

2

…a

6

解法一:

(1)(1)若a

= 0, 则x > 0, 也满足x > -0.5

此时a

1→a

6

可任意

(2)(2)若a

0 = 1, 则x <= 0, 要满足x > -0.5, 需a

1

= 1

即a

0 = 1, a

1

= 1, a

2

→a

6

有一个不为0

解法二:

-0.5 = -0.1

(2)

= -0.100000 = 1, 100000

(1)(1)若x >= 0, 则a0 = 0, a

1→a

6

任意即可

[x]补 = x = a

0. a

1

a

2

…a

6

(2)(2)若x < 0, 则x > -0.5

只需-x < 0.5, -x > 0

[-x]补 = -x, [0.5]补 = 01000000 即[-x]补 < 01000000

010000001**6210<+?a a a a 00111111**6210

6210>?a a a a

即a 0a 1 = 11, a 2→a 6不全为0或至少有一个为1(但不是“其余取0”)

3.有一个字长为32位的浮点数,符号位1位,阶码8位,用移码表示,尾数23位,用补码表示;基数为2。请写出:(1)最大数的二进制表示;(2)最小数的二进制表示;(3)规格化数所能表示数的范围。

解:用IEEE754格式(E 的取值范围:1~254,留出全0和全1分别表示0和无穷大)

0 11111110 11111111111111111111111即 2127(2-2-23) (2) 最小数的二进制表示: 1 11111110 11111111111111111111111即 - 2127(2-2-23) (3) 规格化数所能表示数的范围:

最小的正数:0 00000001 00000000000000000000001 即2-126(1+2-23) 绝对最小的负数:

1 00000001 00000000000000000000001 即-2-126(1+2-23) 所以范围是:

4.将下列十进制数表示成IEEE754标准的32位浮点规格化数。 (1) 27/64 (2) – 27/64 解:27/64=0.011011=1.1011*2-2

(1) 0 01111101 10110000000000000000000=3ED80000H (2) 1 01111101 10110000000000000000000=BEC80000H

5.已知x 和y ,用变形补码计算x+y ,同时指出结果是否溢出。 (1)x=0.11011 y=0.00011 (2)x=0.11011 y=-0.10101 (3)x=-0.10110 y=-0.00001 解:

6.已知x和y,用变形补码计算x-y,同时指出运算结果是否溢出。(1)x=0.11011 y=-0.11111

(2)x=0.10111 y=0.11011

(3)x=0.11011 y=-0.10011

解:

7.用原码阵列乘法器、补码阵列乘法器分别计算x*y。

(1)x = 0.11011 y = - 0.11111

(2)x = -0.11111 y = - 0.11011

解:(1) A.原码阵列

x = 0.11011, y = -0.11111

符号位: x

0⊕y

= 0⊕1 = 1

[x]

原 = 11011, [y]

= 11111

[x*y]

= 1, 11 0100 0101

x*y= - 0.1101000101

B.直接补码阵列

C.带求补器的补码阵列

(2)A. 原码阵列

B.直接补码阵列

C.带求补器的补码阵列

[x]

补 = 1 00001, [y]

= 1 00101

乘积符号位单独运算1⊕1=0

尾数部分算前求补输出│X│=11111,│y│=11011

8.用原码阵列除法器计算x÷y。

(1)x = 0.11000 y = - 0.11111

(2)x = -0.01011 y = - 0.11001

解:

(1) 符号位 Sf = 0⊕1 = 1

去掉符号位后:[y’]补 = 00.11111 [-y’]补 = 11.00001

[x’]补 = 00.11000

(2) 符号位 Sf = 1⊕0 = 1

去掉符号位后:[y’]补 = 00.11001

9.设阶码3位,尾数6位,按浮点运算方法,完成下列取值的[x+y],[x-y]运算。

(1)x = 2-011 * 0.100101 y = 2-010 *(- 0.011110)

(2)x = 2-101 *(-0.010110) y = 2-100 * (0.010110)

解:设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则它们的浮点表示分别为:

题(1) [x]

浮=11 101,0.100101 [y]

=11 110,1.100010

求和

(1)(1)求阶差并对阶

ΔE=Ex-Ey=[Ex]

补-[Ey]

=[Ex]

+[-Ey]

=11 101 + 00 010 =11 111

即ΔE为-1,x阶码小,应使Mx右移1位,Ex加1

[x]

=11 110,0.010010(1)

(2)(2)尾数求和

0.010010(1)

+ 1.100010

1.110100(1)

(3)(3)规格化

可见尾数运算结果的符号位与最高位相同,应执行左规格化处理,每左移尾数一次,相应阶码减1,所以结果尾数为1.010010,阶码为11 100

(4)(4)舍入处理对本题不需要。

(5)(5)判溢出

阶码两符号位为11,不溢出,故最后结果为

[x]

浮+[y]

=11 100,1.010010

真值为2-100*(-0.101110)

求差

(2)尾数求差

0.010010(1) + 0.011110

0.110000(1)

[x]

浮-[y]

=11 100,0.110001

真值为2-100*0.110001

题(2) [x]

浮=11 011,1.101010 [y]

=11 100,0.010110

求和

(1)(1)求阶差并对阶

ΔE=Ex-Ey=[Ex]

补-[Ey]

=[Ex]

+[-Ey]

=11 011 + 00 100 =11 111

即ΔE为-1,x阶码小,应使Mx右移1位,Ex加1

[x]

=11 100,1.110101(0)

(2)(2)尾数求和

1.110101(0)

+ 0.010110

0.001011(0)

(3)(3)规格化

可见尾数运算结果的符号位与最高位相同,应执行左规格化处理,每左移尾数一次,相应阶码减1,所以结果尾数为0.101100,阶码为11 010

(4)(4)舍入处理对本题不需要。

(5)判溢出

阶码两符号位为11,不溢出,故最后结果为

[x]

浮+[y]

=11 010,0.101100

真值为2-110*(0.101100)

求差

(2)尾数求差

1.110101(0) + 1.101010

1.011111(0)

[x]

浮-[y]

=11 100,1.011111

真值为2-110*-0.100001

10.设数的阶码为3位,尾数6位,用浮点运算方法,计算下列各式(1)(23 ×13/16)×[24×(-9/16)]

(2)(2-2 ×13/32)÷( 23×15/16)

解:(1) Ex = 0011, Mx = 0.110100

Ey = 0100, My = 0.100100

Ez = Ex+Ey = 0111

规格化: = 26*0.1110101

Ey = 0011, My = 0.111100

Ez = Ex-Ey = 1110+1101 = 1011

[Mx]补 = 00.011010

[My]补 = 00.111100, [-My]补 = 11.000100

商11. C 0 ,请分另按下述两种方法写出C 4 3 2 1 (1)串行进位方式 (2)并行进位方式 解:

4位加法器如上图, 1

111)()(----⊕+=++=++=i i i i i i i i i i i i i i i i i C B A B A C B A B A C B C A B A C

(1)串行进位方式

C 1 = G 1+P 1C 0 其中:G 1 = A 1B 1 P1 = A 1⊕B 1(A 1+B 1也对) C 2 = G 2+P 2C 1 G 2 = A 2B 2 P 2 = A 2⊕B 2 C 3 = G 3+P 3C 2 G 3 = A 3B 3 P 3 = A 3⊕B 3 C 4 = G 4+P 4C 3 G 4 = A 4B 4 P 4 = A 4⊕B 4

(2)并行进位方式

C 1 = G 1+P 1C 0

C 2 = G 2+P 2G 1+P 2P 1C 0

C 3 = G 3+P 3G 2+P 3P 2G 1+P 3P 2P 1C 0

C 4 = G 4+P 4G 3+P 4P 3G 2+P 4P 3P 2G 1+P 4P 3P 2P 1C 0

12. 某机字长16位,使用四位74181组成ALU ,设最低位序号标注为第0位,要求: (1)写出第5位的进位信号C5的逻辑表达式。

(2)若用一片74182构成二级组间先行进位,请画出逻辑图。 解:

(1)组成最低四位的74181进位输出为:

C 4 = C n+4 = G+PC n = G+PC 0, C 0为向第0位进位

其中,G = y 3+y 2x 3+y 1x 2x 3+y 0x 1x 2x 3,P = x 0x 1x 2x 3,所以 C 5 = y 4+x 4C 4

C 6 = y 5+x 5C 5 = y 5+x 5y 4+x 5x 4C 4

(2)设标准门延迟时间为T ,“与或非”门延迟时间为1.5T ,则进位信号C 0,由最低位传送至C 6需经一个反相器、两级“与或非”门,故产生C 0的最长延迟时间为 T+2*1.5T = 4T

(3)最长求和时间应从施加操作数到ALU 算起:第一片74181有3级“与或非”门(产生控制参数x 0, y 0, C n+4),第二、三片74181共2级反相器和2级“与或非”门(进位链),第四片74181求和逻辑(1级与或非门和1级半加器,设其延迟时间为3T ),故总的加法时间为:

t 0 = 3*1.5T+2T+2*1.5T+1.5T+3T = 14T

13.现用通用函数发生器和其他门电路组成一个32位字长并采用辅助函数的三级先进位并行加法器,最低位下标为1,最高位下标为32,要求: (1)写出附加进位链的与或逻辑表达式。 (2)设状态寄存器有4位:V (溢出置位)、Z (结果全零置位)、C (进位置位)、S (结果为负置位)、写出它们的逻辑表达式。 解:(略)

14.余3码编码的十进制加法器规则如下:两个一位十进制数的余3码相加,如果无进位,

则从和数中减去3(加上1101);如结果有进位,则得和数和余3码。试设计余3码编码的十进制加法器单元电路。

解:设余三码编码的两个运算数为X i 和Y i ,第一次用二进制加法求和运算的和数为S i ’,

进位为C i+1’,校正后所得的余三码和数为S i ,进位为C i+1,则有: X i = X i3X i2X i1X i0 Y i = Y i3Y i2Y i1Y i0

S i ’ = S i3’S i2’S i1’S i0’

X i3 Y i3

X i2 Y i2X i1 Y i1X i0 Y i0

根据以上分析,可画出余三码编码的十进制加加法器单元电路如图所示。

15.现给定的芯片只有与或非门和非门,请设计一个行波进位加法器,要求进位链传递时间最短,逻辑图只画出4位即可。

解:(略)

16.设计一个带有原码阵列乘法(使用芯片)和原码阵列除法(使用芯片)的定点运算器。解:(略)

第三章存储系统

1.设有一个具有20位地址和32位字长的存储器,问

(1) 该存储器能存储多少字节的信息?

(2) 如果存储器由512K*8位SRAM芯片组成,需要多少片?

(3) 需要多少位地址作芯片选择?

解:(1)

字节

M

4

8

32

*

220=

(2)

8

4

*

2

8

*

512

32

*

1024

=

=

K

K

(3) 只需1位地址作片选

2.已知某64位机主存采用半导体存储器,其地址码为26位,若使用256K*l6位的DRAM 芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问;

(1) 若每个模块板为1024K*64位,共需几个模块板?

(2) 每个模块板内共有多少DRAM芯片?

(3) 主存共需多少DRAM芯片? CPU如何选择各模块板?

解:(1)

个模块

64

2

64

*

2

64

*

2

6

20

26

=

=

(2) 每个模块板共有

16

16

*

2

*

2

64

*

2

8

10

20

=

每个模块要16个DRAM芯片

(3) 主存共需64*16=1024个芯片,CPU可用高6位地址经译码后作为模块板选择信号3.用16K*8位的DRAM芯片构成64K*32位存储器,要求:

(1) 画出该存储器的组成逻辑框图。

(2) 设存储器读/写周期为0.5μS,CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?

解:(1)根据题意,存储总容量为64KB,故地址总线需16位。现使用16K*8位DRAM芯片,共需16片。芯片本身地址线占14位,所以采用位并联与地址串联相结合的方法来组成整个存储器,其组成逻辑图如图所示,其中使用一片2:4译码器。

(2)根据已知条件,CPU在1us内至少访存一次,而整个存储器的平均读/写周期为0.5us,如果采用集中刷新,有64us的死时间,肯定不行,

如果采用分散刷新,则每1us只能访存一次,也不行,

所以采用异步式刷新方式。

假定16K*1位的DRAM芯片用128*128矩阵存储元构成,刷新时只对128行进行异步方式刷新,则刷新间隔为2ms/128 = 15.625us,可取刷新信号周期15.5us,刷新一遍所用时间=15.5us×128=1.98ms

4.有一个1024K*32位的存储器,由128K*8位的DRAM芯片构成。问:

(1) 总共需要多少DRAM芯片?

(2) 设计此存储体组成框图。

(3) 采用异步刷新方式,如单元刷新间隔不超过8ms,则刷新信号周期是多少?

解:(1)

32

8

*

128

32

*

1024

K

K

(2)

(3)如果选择一个行地址进行刷新,刷新地址为A0-A8,因此这一行上的2048个存储元同

时进行刷新,即在8ms内进行512个周期。刷新方式可采用:在8ms中进行512次刷新操作的集中刷新方式,或按8ms/512 = 15.5us刷新一次的异步刷新方式。

5.要求用256K*l6位SRAM芯片设计1024K*32位的存储器。SRAM芯片有两个控制端:当CS有效时,该片选中。当W/R=1时执行读操作,当W/R=0时执行写操作。

解:所设计的存储器单元数为1M,字长为32,故地址长度为20位(A19~A0),所用芯片存储单元数为256K,字长为16位,故占用的地址长度为18位(A17~A0)。由此可用位并联方式与地址串联方式相结合的方法组成组成整个存储器,共8片RAM芯片,并使用一片2:4译码器。其存储器结构如图所示。

)

)

R

W /

6.用32K*8位的EPROM 芯片组成128K*16位的只读存储器,试问: (1) 数据寄存器多少位? (2) 地址寄存器多少位?

(3) 共需多少个EPROM 芯片? (4) 画出此存储器组成框图。

解:(1) 系统16位数据,所以数据寄存器16位

(2) 系统地址128K =217

,所以地址寄存器17位 (3) 共需要8片 (4) 组成框图如下

7.某机器中,已知配有一个地址空间为0000H —3FFFH 的ROM 区域。现在再用一个RAM 芯片(8K*8)形成40K*l6位的RAM 区域,起始地为6000H 。假设RAM 芯片有CS 和WE 信号控制端。CPU 的地址总线为A15—A0,数据总线为D15—D0,控制信号为R/W(读/写),MREQ(访存),要求:

(1) 画出地址译码方案。

(2) 将ROM 与RAM 同CPU 连接。 解:(1)组内地址用A 12~A 0

(2)小组译码器使用3:8译码器

(3)RAM 1~RAM 5各用两片8K*8的芯片位并联连接

A 13-A 15

8.设存储器容量为64M ,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T =lOOns ,数据总线宽度为64位,总线传送周期,τ=50ns 。求:顺序存储器和交叉存储器的带宽各是多少?

解:顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:

q = 64位*8 = 512位

顺序存储器和交叉存储器连续读出8个字所需的时间分别是:

t 1 = mT = 8*100ns = 8*10-7s

ns ns ns ns m T t 7

210

*5.445050*7100)1(-==+=-+=τ

顺序存储器和交叉存储器的带宽分别是:

]/[1064)10

*8(512/7

7

11s t q W 位?=÷==- ]/[108.113)10

*5.4(512/7

7

22s t q W 位?=÷==-

9.CPU 执行一段程序时,cache 完成存取的次数为2420次,主存完成存取的次数为80次,已知cache 存储周期为40ns ,主存存储周期为240ns ,求cache /主存系统的效率和平均访问时间。

解:cache 的命中率

968

.080

24202420=+=

+=m c c N N N H

6

40

240===

c

m

T T r

cache/主存系统效率e 为

%

2.86%100*968

.0*)61(61

%100*)1(1

=-+=

-+=

H

r r e

平均访问时间T a 为

ns

ns ns

e T T c

a 4.46862.040==

=

10.已知cache 存储周期40ns ,主存存储周期200ns ,cache /主存系统平均访问时间为50ns ,求cache 的命中率是多少?

解:已知cache /主存系统平均访问时间ta=50ns ,而ta = h*tc+(1-h)*tm ;

所以 h*tc+tm-h*tm=50ns , (tc-tm)*h=50-tm

h=(50-tm)/(tc-tm)=(50-200)/(40-200)=150/160=93.75%

11.主存容量为4MB ,虚存容量为1GB ,则虚拟地址和物理地址各为多少位?如页面大小为4KB ,则页表长度是多少?

解:主存容量为4MB ,则物理地址是22位,

虚存容量为1GB ,则虚拟地址是30位

如页面大小为4KB ,则页表长度是230/212=218

=256K 12.假设可供用户程序使用的主存容量为200KB ,而某用户的程序和数据所占的主存容量超过200KB ,但小于逻辑地址所表示的范围。请问:具有虚存与不具有虚存对用户有何影响? 答:没有虚存,则该程序不可能运行,因为在没有虚存的系统中要运行程序时必须将程序及其要处理的数据整体调入主存,而该程序和数据的容量超过了主存的实际容量。在具有虚存的系统中,则该程序可正常运行,因为有了虚存技术,在运行程序时,系统不是将要运行程序及其要处理的数据整体调入主存,而是采用页式、段式或段页式,将要运行的程序逐页、逐段、或逐段逐页地从外存调入主存,这样即使程序大于实际的主存容量,也可以正常运行。 13.某计算机采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中,假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等。 (1)循环程序由6条指令组成,重复执行80次。 (2)循环程序由8条指令组成,重复执行60次。

解:设取指周期为T ,总线传送周期为τ,指令执行时间为t 0 (1)t = (T+5τ+6t 0)*80 = 80T+400τ+480 t 0 (2) t = (T+7τ+8t 0)*60 = 60T+420τ+480 t 0 所以不相等。

14.假设主存只有a ,b ,c 三个页框,组成a 进b 出的FIFO 队列,进程访问页面的序列是0,l ,2,4,2,3,0,2,1,3,2号。用列表法求采用LRU 替换策略时的命中串。

15.从下列有关存储器的描述中,选择出正确的答案: A .多体交叉存储主要解决扩充容量问题。 B .访问存储器的请求是由CPU 发出的。

C .cache 与主存统一编址,即主存空间的某一部分属于cache 。

D .cache 的功能全由硬件实现。 答:D

16.从下列有关存储器的描述中,选择出正确的答案:

A.在虚拟存储器中,外存和主存以相同的方式工作,因此允许程序员用比主存空间大得多的外存空间编程。

B.在虚拟存储拟器中,逻辑地址转换成物理地址由硬件实现的,仅在页面失效时才由操作系统将被访问页面从外存调到内存,必要时还要先把被淘汰的页面内容写入外存。

C.存储保护的目的是:在多用户环境中,既要防止一个用户程序出错而破坏系统软件或其他用户程序,又要防止一个用户访问不是分配给他的主存区,以达到数据安全和保密的要求。

答:C

第四章第四章指令系统

1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?

答:不合理。指令最好半字长或单字长,设16位比较合适。一个字符的ASCII是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另22位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。2.假设某计算机指令长度为20位,具有双操作数、c操作数、无操作数三类指令形式,每个操作数地址规定用6位表示,问:

若操作码字段固定为8位,现已设计出m条双操作数指令,n条无操作数指令,在此情况下,这台计算机最多可以设计出多少条单操作数指令?

答:字长20位,每个操作数6位,操作码固定为8位,则总指令条数为28=256条,其中设计出双操作数指令m条、无操作数指令n条,则单操作数指令应为256-m-n条。

3.指令格式结构如下所示,试分析指令格式及寻址方式特点。

(1)(1)单字长二地址指令。

(2)(2)操作码字段OP可以指定26=64条指令。

(3)(3)源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,

即两个操作数均在寄存器中。

(4)(4)这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。

4.指令格式结构如下所示,试分析指令格式及寻址方式特点。

(1)(1)双字长二地址指令,用于访问存储器。

(2)(2)操作码字段OP可以指定26=64种操作。

(3)(3)RS型指令,一个操作数在通用寄存器(共16个),另一个操作数在主存中。

(4)(4)有效地址可通过变址寻址求得,即有效地址等于变址寄存器(共16个)内

容加上位移量。

5.指令格式结构如下所示,试分析指令格式及寻址方式特点。

(1)(1)该指令为单字长双操作数指令,源操作数和目的操作数均有寻址方式和

寄存器构成,寄存器均有8个,寻址方式均有8种。

(2)(2)根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;

(3) (3) 因为OP 为4位,所以可以有最多功能16条指令。

6.一种单纯地址指令格式如下所示,其中为I 间接特征,X 为寻址模式,D 为形式地址,I 、X 、D 组成该指令的操作数有效地址E ,设R 为变址寄存器,R1为基值寄存器,PC 为程序计数器,请在下表中第一列位置填入适当的寻址方式名称。

④ 基址寻址 ⑤ 间接寻址 ⑥ 先基址后间接寻址

7.某计算机字长为16位,主存容量为64K 字,采用单字长单地址指令,共有40条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式。

答:根据题意,40种指令至少需6位OP ;四种寻址方式至少需用2位表示;主存为640K ,则地址需要20位,而机器字长为16位,所以只能用分段方式来实现,设段寄存器为16位,作为段内地址的位移量可以在指令指定的寄存器中,可设计如下格式: X = 01 立即寻址方式

X = 10 变址寻址方式 E = (R )+D X = 11 相对寻址方式 E = (PC )+D

8.某机字长为32位,主存容量为1M

,单字长指令,有50种操作码,采用页面寻址、立即、直接等寻址方式。CPU 中有PC ,IR ,AR ,DR 和16个通用寄存器,页面寻址可用PC 高位部分与形式地址部分拼接成有效地址。问: (1)指令格式如何安排?

(2)主存能划分成多少页面?每页多少单元? (3)能否增加其他寻址方式?

答:方法一(1) 根据题意,50种操作码至少需6位OP ;寻址方式可用2位分别表示最多4种寻址方式;寄存器16个源操作数和目的操作数各用4位,因机器字长为32位,固还剩16位可表示形式地址D

31 26 25 24 23 20 19 16 15 0 64K (3) 可以增加一种寻址方式,如寄存器寻址或寄存器间接寻址。

2位 E = PC H -D X = 01 立即寻址方式

X = 10 直接寻址方式 E = D

(2)PC 高8位形成主存256个页面,每页K

M

4256

1 个单元

(3)寻址模式X = 11尚未使用,故可增加一种寻址方式。由于CPU 中给定的寄存器中尚可使用PC ,故可增加相对寻址方式,其有效地址E = PC+D ,如不用相对寻址,还可使用间接寻址,此时有效地址E = (D )。当位移量变成23位时,寻址模式变成3位,可有更多的寻址方式。

9.设某机字长为32位,CPU中有16个32位通用寄存器,设计一种能容纳64种操作的指令系统。如果采用通用寄存器作基址寄存器,则RS型指令的最大存储空间是多少?

答:根据题意,64种操作至少需6位OP;四种寻址方式至少需用2位表示;寄存器16个源操作数和目的操作数各用4位,因机器字长为32位,固还剩16位可表示形式地址D

达232单元。

10.设计一个串联堆栈的逻辑电路。(略)

11.设计一个存储器堆栈的逻辑电路。(略)

12.将表4.7的指令系统改造成二地址格式的指令系统。(略)

13.具有通用寄存器的某机有加法指令、减法指令,指令格式及功能与SPARC相同,且Ro 的内容恒为零。现要将R2的内容清除,该如何实现?(略)

14.从以下有关RISC的描述中,选择正确答案。

A.采用RISC技术后,计算机的体系结构又恢复到早期的比较简单的情况。

B.为了实现兼容,新设计的RISC,是从原来CISC系统的指令系统中挑选一部分实现的。

C. RISC的主要目标是减少指令数。

D.RISC没有乘、除法指令和浮点运算指令。

答:C

15.根据操作数所在位置,指出其寻址方式(填空):

(1)操作数在寄存器中,为(A)寻址方式。

(2)操作数地址在寄存器,为(B)寻址方式。

(3)操作数在指令中,为(C)寻址方式。

(4)操作数地址(主存)在指令中,为(D)寻址方式。

(5)操作数的地址,为某一寄存器内容与位移量之和,可以是(E,F,G)寻址方式。

答:(1)(寄存器) (2)(寄存器间接)

(3)(立即) (4)(直接)

(5)(基址、变址、相对)

第五章第五章中央处理器

1.请在括号内填人适当答案。在CPU中:

(1)保存当前正在执行的指令的寄存器是,(2)保存当前正在执行的指令地址的寄存器是;(3)算术逻辑运算结果通常放在和。

答:(1)IR; (2)AR; (3)AC和PSW

2.参见图5.15的数据通路。画出存数指令“STA Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。

解:如下图1。

3.参见图5.15的数据通路,画出取数指令“LDA (R3),R2”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列。

4.假设主脉冲源频率为10MHz,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。

解:

出时序产生器逻辑图。

相关文档
相关文档 最新文档