组成原理课后习题答案 下载本文

授课教材课后习题答案

第一章 计算机系统概论

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]补=a0. a 1 a 2 ?a 6 其中ai 取0或1,若要x>-0.5,求a 0,a 1 , a 2 , ? , a6 的取值。

解:[x]补 = a0. a1a2?a6 解法一:

(1) (1) 若a0 = 0, 则x > 0, 也满足x > -0.5

此时a1→a6可任意

(2) (2) 若a0 = 1, 则x <= 0, 要满足x > -0.5, 需a1 = 1

即a0 = 1, a1 = 1, a2→a6有一个不为0

解法二:

-0.5 = -0.1(2) = -0.100000 = 1, 100000

(1) (1) 若x >= 0, 则a0 = 0, a1→a6任意即可

[x]补 = x = a0. a1a2?a6

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

只需-x < 0.5, -x > 0

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

a0*a1*a2?a6?1?01000000 a0*a1*a2?a6?00111111 a0a1a2?a6?11000000

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

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

解:用IEEE754格式(E的取值范围:1~254,留出全0和全1分别表示0和无穷大) 31 30 23 22 20 0 S E M (1) 最大数的二进制表示: 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 符号位: x0⊕y0 = 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]运算。

-011 -010

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

-101 -100

(2)x = 2*(-0.010110) y = 2* (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

-110

真值为2*-0.100001

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

-2 3

(2)(2×13/32) ÷ ( 2 ×15/16) 解:(1) Ex = 0011, Mx = 0.110100

Ey = 0100, My = 0.100100 Ez = Ex+Ey = 0111

6

规格化: = 2*0.1110101 Mx*My 0. 1 1 0 1 * 0.1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 (2) (2) Ex = 1110, Mx = 0.011010 Ey = 0011, My = 0.111100

Ez = Ex-Ey = 1110+1101 = 1011 [Mx]补 = 00.011010

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

0 0 0 1 1 0 1 0 +[-My] 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 +[My] 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0.0 1 1 1 1 0 0 0 0 +[My] 0 0 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0.01 0 1 0 1 1 0 0 0

+[-My] 1 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0.011 0 0 1 1 1 0 0 0 +[-My] 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0.0110 1 1 1 1 1 0 0 0 +[My] 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0.01101 0 1 1 0 1 0 0 0 +[-My] 1 1 0 00 1 0 0 0 0 1 0 1 10 0 -6 0.01101 商 = 0.01101 余数=0.101100*2 11. 某加法器进位链小组信号为C4 C3 C2 C1 ,低位来的进位信号为C0 ,请分另按下述两种方法写出C4 C3 C2 C1 逻辑表达式: (1)串行进位方式 (2)并行进位方式 解:

4位加法器如上图, Ci?AiBi?AiCi?1?BiCi?1?AiBi?(Ai?Bi)Ci?1?AiBi?(Ai?Bi)Ci?1

(1)串行进位方式

C1 = G1+P1C0 其中:G1 = A1B1 P1 = A1⊕B1(A1+B1也对) C2 = G2+P2C1 G2 = A2B2 P2 = A2⊕B2 C3 = G3+P3C2 G3 = A3B3 P3 = A3⊕B3 C4 = G4+P4C3 G4 = A4B4 P4 = A4⊕B4

(2)并行进位方式

C1 = G1+P1C0

C2 = G2+P2G1+P2P1C0

C3 = G3+P3G2+P3P2G1+P3P2P1C0

C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0

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

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

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

C4 = Cn+4 = G+PCn = G+PC0, C0为向第0位进位

其中,G = y3+y2x3+y1x2x3+y0x1x2x3,P = x0x1x2x3,所以 C5 = y4+x4C4

C6 = y5+x5C5 = y5+x5y4+x5x4C4

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

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

t0 = 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码编码的十进制加法器单元电路。

解:设余三码编码的两个运算数为Xi和Yi,第一次用二进制加法求和运算的和数为Si’,

进位为Ci+1’,校正后所得的余三码和数为Si,进位为Ci+1,则有: Xi = Xi3Xi2Xi1Xi0 Yi = Yi3Yi2Yi1Yi0

Si’ = Si3’Si2’Si1’Si0’

si3Ci+1si2FAsi1FA+3Vsi0十进校正FAFAsi3'FAXi3 Yi3FAsi2'FAsi1'FAsi0'二进加法Xi2 Yi2Xi1 Yi1Xi0 Yi0

当Ci+ = 1时,Si = Si’+0011 并产生Ci+1 当Ci+ = 0时,Si = Si’+1101

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

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

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

第三章 存储系统

1.设有一个具有20位地址和32位字长的存储器,问 (1) 该存储器能存储多少字节的信息?

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

220*328?4M字节解:

(1)

?2*4?8片1024K*32(2)512K*8

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

2.已知某64位机主存采用半导体存储器,其地址码为26位,若使用256K*l6位的DRAM芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问; (1) 若每个模块板为1024K*64位,共需几个模块板? (2) 每个模块板内共有多少DRAM芯片?

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

22620*64*64解:(1)2?2?64个模块210206 ?16*648 (2) 每个模块板共有2*2*16片 每个模块要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,则刷新信号周期是多少?

1024K*32

解:(1)128K*8 (2)

?32片

A0-A16CPUD0-D31Y1A-AY2Y3Y4Y5Y6Y7Y83:8译码器1719

(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译码器。其存储器结构如图所示。

A19A18Y0Y1Y2Y3CS0~CS3D31-D16(高16位)CS0256k*16CS1W/RCS2CS3CPUA17-A16256k*16W/RCS0CS1CS2CS3D15-D0(低16位)W/R6.用32K*8位的EPROM芯片组成128K*16位的只读存储器,试问: (1) 数据寄存器多少位? (2) 地址寄存器多少位?

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

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

17

(2) 系统地址128K=2,所以地址寄存器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)组内地址用A12~A0

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

(3)RAM1~RAM5各用两片8K*8的芯片位并联连接

A0-A12ROMRAM8K*8RAM8K*8RAM8K*8RAM8K*8RAM8K*8D0-D15CPURAM8K*8RAM8K*8RAM8K*8RAM8K*8RAM8K*83:8译码器

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

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

q = 64位*8 = 512位

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

t1 = mT = 8*100ns = 8*10-7s

t2?T?(m?1)??100ns?7*50ns?450ns?4.5*10?7A13-A15 顺序存储器和交叉存储器的带宽分别是:

W1?q/t1?512?(8*10?7ns

)?64?10[位/s] )?113.8?10[位/s]

77W2?q/t2?512?(4.5*10?79.CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。

解:cache的命中率

H?r?NcNc?NmTc?24040?24202420?80?0.968

Tm?6 cache/主存系统效率e为

r?(1?r)H 平均访问时间Ta为

e?1*100%?16?(1?6)*0.968*100%?86.2%

e0.862ns

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位

301218

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

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

14.假设主存只有a,b,c三个页框,组成a进b出的FIFO队列,进程访问页面的序列是0,l,2,4,2,3,0,2,1,3,2号。用列表法求采用LRU替换策略时的命中串。 解: 页面命中0 1 2 4 2 3 0 2 1 3 2 访问率 序列 Ta?Tc?40ns?46.4nsa b c 0 1 0 2 1 0 4 2 1 2 4 3 2 0 3 2 2 0 1 2 3 1 2 2 3 1 命中 15.从下列有关存储器的描述中,选择出正确的答案: A.多体交叉存储主要解决扩充容量问题。 B.访问存储器的请求是由CPU发出的。

C.cache与主存统一编址,即主存空间的某一部分属于cache。 D.cache的功能全由硬件实现。 答:D

1 4 命中 3 0 命中 3/11 = 27.3% 16.从下列有关存储器的描述中,选择出正确的答案:

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

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

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

第四章 第四章 指令系统

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

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

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

8

答:字长20位,每个操作数6位,操作码固定为8位,则总指令条数为2=256条,其中设计出双操作数指令m条、无操作数指令n条,则单操作数指令应为256-m-n条。 3.指令格式结构如下所示,试分析指令格式及寻址方式特点。 15 10 9 8 7 4 3 0 OP - 目标寄存器 源寄存器 答:该指令格式及寻址方式特点有: (1) (1) 单字长二地址指令。 (2) (2) 操作码字段OP可以指定26=64条指令。 (3) (3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,

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

(4) (4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。 4.指令格式结构如下所示,试分析指令格式及寻址方式特点。 15 10 9 8 7 4 3 0 OP 源寄存器 变址寄存器 偏移量(16位) 答:该指令格式及寻址方式特点如下: (1) (1) 双字长二地址指令,用于访问存储器。 (2) (2) 操作码字段OP可以指定26=64种操作。

(3) (3) RS型指令,一个操作数在通用寄存器(共16个),另一个操作数在主存中。 (4) (4) 有效地址可通过变址寻址求得,即有效地址等于变址寄存器(共16个)内

容加上位移量。

5.指令格式结构如下所示,试分析指令格式及寻址方式特点。 15 12 11 9 8 6 5 3 2 0 OP 寻址方式 寄存器 寻址方式 寄存器

源地址 目标地址

答:该指令格式及寻址方式特点如下: (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为程序计数器,请在下表中第一列位置填入适当的寻址方式名称。 寻址方式名称 I X 有效地址E ① ② ③ ④ 0 0 0 0 00 01 10 11 E=D E=(PC)+D E=(R)+D E=(R1)+D ⑤ 1 00 E=(D) ⑥ 1 10 E=((R1)+D),D=0 答: ① 直接寻址 ② 相对寻址 ③ 变址寻址 ④ 基址寻址 ⑤ 间接寻址 ⑥ 先基址后间接寻址

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

答:根据题意,40种指令至少需6位OP;四种寻址方式至少需用2位表示;主存为640K,则地址需要20位,而机器字长为16位,所以只能用分段方式来实现,设段寄存器为16位,作为段内地址的位移量可以在指令指定的寄存器中,可设计如下格式: 15 10 9 8 7 0 OP X(2) D(8) X = 00 直接寻址方式 E = D 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 OP 寻址 源寄存器 目的寄存器 D (2)用PC高16位形成主存256个页面,主存能分成64K页面,每页64K (3) 可以增加一种寻址方式,如寄存器寻址或寄存器间接寻址。 方法二(1)50种操作码占6位,3种寻址方式占2位 OP(6) X(2) D(24) X = 00 页面寻址方式 E = PCH-D X = 01 立即寻址方式

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

1M (2)PC高8位形成主存256个页面,每页256个单元

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

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

答:根据题意,64种操作至少需6位OP;四种寻址方式至少需用2位表示;寄存器16个源操作数和目的操作数各用4位,因机器字长为32位,固还剩16位可表示形式地址D 31 26 25 24 23 20 19 16 15 0 OP 寻址 源寄存器 目的寄存器 D 如果采用通用寄存器作基址寄存器,因为寄存器为32,位所以RS型指令可寻址空间最大可32

达2单元。

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个等间隔的节拍脉冲,试画出时序产生器的逻辑图。 解:

5.如果在一个CPU周期中要产生3个节拍脉冲;Tl=200ns,T2=400ns,T3=200ns,试画出时序产生器逻辑图。

6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器容量。

解:80条指令,平均每条指令由4条微指令组成,其中有一条公用微指令,所以总微指令条数为80*(4-1)+1=241条微指令,每条微指令32位,所以控存容量大约为241*32位 7.某ALU器件是用模式控制码M S3 S2 S1 C来控制执行不同的算术运算和逻辑操作。下表列出各条指令所要求的模式控制码,其中y为二进制变量,φ为0或l任选。

试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M,S3,S2,Sl,C的逻辑表达式。

指令码 A,B H,D E M 0 0 0 S3 0 1 0 S2 1 1 1 S1 1 0 0 C 0 1 y y φ F 0 1 1 1 G 1 0 1 1 解:由表可列如下逻辑方程 M=G

S3=H+D+F

S2=A+B+D+H+E+F+G S1=A+B+F+G C=H+D+Ey+Ey

由以上逻辑方程即可画出逻辑电路图

8.某机有8条微指令I1—I8,每条微指令所包含的微命令控制信号如下表所示。 微指令 a b c d e f g h i j I1 √ √ √ √ √ I2 I3 I4 I5 I6 I7 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ I8 √ √ a—j分别对应10种不同性质的微命令信号。假设一条微指令的控制字段仅限为8位,请安排微指令的控制字段格式。 解:为了压缩控制字段的长度,必须设法把一个微指令周期中的互斥性微命令组合在一个小组中,进行分组译码。

经分析,(e,f,h)和(b,i,j)、或(d,i,j)和(e,f,h)均是不可能同时出现的互斥信号,所以可将其通过2:4译码后输出三个微命令信号(00不用),而其余四个微命令信号用直接表示方式。因此可用以下两种形式安排控制字段格式。

9.微地址转移逻辑表达式如下: μA8 = P1·IR6·T4 μA7 = P1·IR5·T4 μA6 = P2·C·T4

其中μA8—μA6为微地址寄存器相应位,P1和P2为判别标志,C为进位标志,IR5和IR6为指令寄存器的相应位,T4为时钟周期信号。说明上述逻辑表达式的含义,画出微地址转移逻辑图。 解:

μA8 = P1·IR6·T4 表示微地址的第8位在P1有效时,用IR6设置 μA7 = P1·IR5·T4 表示微地址的第7位在P1有效时,用IR5设置

μA6 = P2·C·T4 表示微地址的第6位在P2有效时,用进位标志C设置 地址转移逻辑图如下:

10.某计算机有如下部件,ALU,移位器,主存M,主存数据寄存器MDR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0一R7,暂存器C和D。

(1)请将各逻辑部件组成一个数据通路,并标明数据流动方向。

(2)画出“ADD (R1),(R2)+”指令的指令周期流程图,指令的含义与PDP·11相同。 解:

(1)将C,D两个暂存器直接接到ALU的A,B两个输入端上。与此同时,除C,D外,其

余7个寄存器都双向接到单总线上。

移位器IR+1BR0R1MDRALUAPC+1MR2R3MARCD (2)

取指M->MDR->IR,PC+1

测试R1->MDR取源操作数M->MDR->CR2->MDR取目的操作数M->MDR->D加C+D->MDR存回MDR->M,R2->DD+1->R2PC->MAR修改送回继指令地址

11.已知某机采用微程序控制方式,控存容量为512*48位。微程序可在整个控存中实现转移,控制微程序转移的条件共4个,微指令采用水平型格式,后继微指令地址采用断定方式。请问;

(1)微指令的三个字段分别应为多少位?

(2)画出对应这种微指令格式的微程序控制器逻辑框图。

答:(1)假设判别测试字段中每一位作为一个判别标志,那么由于有4个转移条件,故该字

段为4位。下地址字段为9位,因为控存容量为512单元。微命令字段则是(48-4-9)=35位。

(2)对应上述微指令格式的微程序控制器逻辑框图如图所示。其中微地址寄存器对应下地

址字,P字段即为判别测试字段,控制字段即为微命令字段,后两部分组成微指令寄存器。地址转移逻辑的输入是指令寄存器的OP码、各种状态条件以及判别测试字段

所给的判别标志(某一位为1),其输出修改微地址寄存器的适当位数,从而实现微程序的分支转移。就是说,此处微指令的后继地址采用断定方式。

指令寄存器IROP状态条件?地址译码控制存储器P字段微地址寄存器地址转移逻辑微命令信号?控制字段

12.今有4级流水线,分别完成取指、指令译码并取数、运算、送结果四步操作。今假设完成各步 操作的时间依次为100ns,100ns,80ns,50ns。请问; (1)流水线的操作周期应设计为多少?

(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第2条指令要推迟多少时间进行?

(3)如果在硬件设计上加以改进,至少需推迟多少时间? 答:(1) 流水操作周期为max(100,100,80,50)=100ns

(2) 200ns (3) 100ns

13.指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有20条指令连续输入此流水线。

(1)画出流水处理的时空图,假设时钟周期为100ns。

(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。 (3)求流水线的加速比。 解:

(1) (1) 若流水操作周期为100ns,可画时空图如下

(2) 流水线的实际吞吐量:20条指令/2400ns =833.33万条指令/秒

(3) 流水线的加速比为: 设流水线操作周期为τ,

则n指令串行经过k个过程段的时间为n*K*τ ;

而n条指令经过可并行的k段流水线时所需的时间为k+n*τ; 故加速比为:

lim (n*k*τ)/{[K+(n-1)]*τ}=k n→∞

20条指令经过5个过程段的加速比为: 20*5*100/(5+19)*100)=4.17

14.用时空图法证明流水计算机比非流水计算机具有更高的吞吐率。 解:

空间SWBEXIDIFI1I1I1I1I2I2I2I2时间T

空间S 1 2 3 4 5 6 7 8非流水线时间图

WBEXIDIFI1I2I3I4I5I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5时间T流水线时间图 1 2 3 4 5 6 7 8

如上两图所示,执行相同的指令,在8个单位时间内,流水计算机完成5条指令,而非

流水计算机只完成2条,显然,流水计算机比非流水计算机有更高的吞吐量。 15.用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率。 解:

证:设n条指令,K级流水,每次流水时间τ

则用流水实现 Tp = Kτ+(n-1) τ

Tp

非流水实现 Ts = Kτn

Hs?nTs nHp?nHpHs?TpnTs?TsTp?Kn?K??(n-1)??KnK?n?1?KK?1n?1

Hpn->∞时, HsHp????1

n=1时, Hs, 则可见n>1时Ts>Tp,故流水线有更高吞吐量 16.判断以下三组指令中各存在哪种类型的数据相关?

(1)I1 LAD R1,A ; M(A)->R1,M(A)是存储器单元 I2 ADD R2,Rl ; (R2)+(R1)->R2 (2)I1 ADD R3,R4 ; (R3)+(R4)->R3 I2 MUL R4,R5 ; (R4)*(R5)->R4

(3)I1 LAD R6,B ; M(B)-> R6,M(B)是存储器单元 I2 MUL R6,R7 ; (R6)*(R7)->R6 解:(1)写后读 RAW (2)读后写 WAR (3)写后写 WAW

17.参考图5.42所示的超标量流水线结构模型,现有如下6条指令序列: 11 LAD R1,B ; M(B)一R1,M(B)是存储器单元 12 SUB R2,Rl ; (R2)-(R1)->R2 I3 MUL R3,R4 ; (R3)*(R4)->R3 I4 ADD R4,R5 ; (R4)+(R5)->R4

I5 1AD R6,A ; M(A)->R6,M(A)是存储器单元 I6 ADD R6,R7 ; (R6)+(R7)->R6

请画出:(1)按序发射按序完成各段推进情况图。 (2)按序发射按序完成的流水线时空图。 解: (1)

译码段I1I3I5I2I2I4I6I6I5I6I6I1I2I2I4I4I3I3I3I3I4执行段写回段I1I2I5I6 (2)

I1I2FFI3I4DDFF取/存 加法器 乘法器

EWEDDI5I6FFEEEDDWEEEEEEWWWW

第六章 总线系统

1.比较单总线、双总线、三总线结构的性能特点。

答:单总线结构:它是一组总线连接整个计算机系统的各大功能部件,各大部件之间的所有的信息传送都通过这组总线。其结构如图所示。单总线的优点是允许I/O设备之间或I/O设备与内存之间直接交换信息,只需CPU分配总线使用权,不需要CPU干预信息的交换。所以总线资源是由各大功能部件分时共享的。单总线的缺点是由于全部系统部件都连接在一组总线上,所以总线的负载很重,可能使其吞量达到饱和甚至不能胜任的程度。故多为小型机和微型机采用。

系统总线CPU内存

双总线结构:它有两条总线,一条是内存总线,用于CPU、内存和通道之间进行数据传送;另一条是I/O总线,用于多个外围设备与通道之间进行数据传送。其结构如图所示。双总线结构中,通道是计算机系统中的一个独立部件,使CPU的效率大为提高,并可以实现形式多样而更为复杂的数据传送。双总线的优点是以增加通道这一设备为代价的,通道实际上是一台具有特殊功能的处理器,所以双总线通常在大、中型计算机中采用。

内存总线CPU内存通道I/O总线设备接口?设备接口I/O接口I/O接口 三总线结构:即在计算机系统各部件之间采用三条各自独立的总线来构成信息通路。这三条总线是:内存总线,输入/输出(I/O)总线和直接内存访问(DMA)总线,如图所示。内存总线用于CPU和内存之间传送地址、数据的控制信息;I/O总线供CPU和各类外设之间通讯用;DMA总线使内存和高速外设之间直接传送数据。一般来说,在三总线系统中,任一时刻只使用一种总线;但若使用多入口存储器,内存总线可与DMA总线同时工作,此时三总线系统可以比单总线系统运行得更快。但是三总线系统中,设备到不能直接进行信息传送,而必须经过CPU或内存间接传送,所以三总线系统总线的工作效率较低。

CPU内存总线内存DMA总线接口磁盘机接口打印机接口显示器I/O总线 2.说明总线结构对计算机系统性能的影响。

答:(1)简化了硬件的设计。从硬件的角度看,面向总线是由总线接口代替了专门的I/O接

口,由总线规范给出了传输线和信号的规定,并对存储器、I/O设备和CPU如何挂在总线上都作了具体的规定,所以,面向总线的微型计算机设计只要按照这些规定制作CPU插件、存储器插件以及I/O插件等,将它们连入总线即可工作,而不必考虑总线的详细操作。

(2)简化了系统结构。整个系统结构清晰,连线少,底板连线可以印刷化。

(3)系统扩充性好。一是规模扩充,二是功能扩充。规模扩充仅仅需要多插一些同类型的

插件;功能扩充仅仅需要按总线标准设计一些新插件。插件插入机器的位置往往没有严格的限制。这就使系统扩充既简单又快速可靠,而且也便于查错。

(4)系统更新性能好。因为CPU、存储器、I/O接口等都是按总线规约挂到总线上的,因而

只要总线设计恰当,可以随时随着处理器芯片以及其他有关芯片的进展设计新的插件,新的插件插到底板上对系统进行更新,而这种更新只需更新需要更新的插件,其他插件和底板连线一般不需更改。

3.用异步通信方式传送字符“A”和“8”,数据有7位,偶校验1位,起始位l位,停止位1位,请分别画出波形图。 答: “A”的ASCII码为41H = 01000001B,1的个数为偶数,故校验位为0;“8”的ASCII

码为38H = 00111000B,1的个数为奇数,故校验位为1。

停起数数数数数数数数校停起数数数数数数数数校停止始据据据据据据据据验止始据据据据据据据据验止位位位位位位位位位位位位位位位位位位位位位位位0 1 2 3 4 5 6 70 1 2 3 4 5 6 7

4.总线上挂两个设备,每个设备能收能发,还能从电气上和总线断开,画出逻辑图,并作简要说明。 解:略

5.画出菊花链方式的优先级判决逻辑电路图。 答:

D中央仲裁器ABSBR设备接口0BG设备接口1?设备接口n

6.画出独立请求方式的优先级判决逻辑电路图。 答:

中央仲裁器????BGnBRnBG1BR1BG0BR0设备接口0设备接口1?设备接口n

7.画出分布式仲裁器逻辑电路图。 答:

AB7仲裁ABi总线AB0 竞争CN7W7CNi设备竞争号WiCN0W0设备竞争号接其它设备

8.同步通信之所以比异步通信具有较高的传输频率,是因为同步通信 。 A.不需要应答信号 B.总线长度较短

C.用一个公共时钟信号进行同步 D.各部件存取时间比较接近 答:C.

9.在集中式总线仲裁中, 方式响应时间最快, 方式对 最敏感。

A.菊花链方式 B.独立请求方式 C.电路故障 D. 计数器定时查询方式 答:B.A.C.

10.采用串行接口进行7位ASCII码传送,带有一位奇校验位、1位起始位和1位停止位,当波特率为9600波特时,字符传送速率为 A.960 B.873 C.1371 D.480 答:A 9600/(7+1+1+1)=960字符/秒 11.系统总线中地址线的功能是 。

A.选择主存单元地址 B.选择进行信息传输的设备

C.选择外存地址 D.指定主存和I/O设备接口电路的地址 答:A。

12.系统总线中控制线的功能是 。

A.提供主存、I/O接口设备的控制信号和响应信号 B.提供数据信息 C.提供时序信号

D.提供主存、I/O接口设备的响应信号

答:A。

13.说明存储器总线周期与I/O总线周期的异同点。

答:存储总线周期用于对内存读写,I/O总线周期对接口中的端口进行读写。

14.PCI是一个与处理器无关的 ,它采用 时序协议和 式仲裁策略,并具有 能力。

A.集中 B.自动配置 C.同步 D.高速外围总线 答:D,C,A,B。

15.PCI总线的基本传输机制是 传送。利用 可以实现总线间的 传送,使所有的存取都按CPU的需要出现在总线上。PCI允许 总线 工作。

A.桥 B.猝发式 C.并行 D.多条 E.猝发式 答:B. A. E. D. C

16.Futurebus+总线是一个高性能的 总线标准,能支持 位地址空间。它即可用于 总线,也可用于 总线,适合于高成本的 计算机的系统。 A.64 B.异步 C.高速外围 D.CPU E.较大规模 答: B、A、E、D、C

16.Futurebus+总线是一个高性能的 总线标准,能支持 位地址空间。它即可用于 总线,也可用于 总线,适合于高成本的 计算机的系统。 A.64 B.异步 C.高速外围 D.CPU E.较大规模 答:B.A.C.D.E.

17.PCI总线中三种桥的名称是什么?桥的功能是什么?

答:PCI总线上有HOST桥、PCI/LAGACY总线桥、PCI/PCI桥。桥在PCI总线体系结构中起着重要作用,它连接两条总线,使彼此间相互通信。桥是一个总线转换部件,可以把一条总线的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址表。桥可以实现总线间的猝发式传送,可使所有的存取都按CPU的需要出现在总线上。由上可见,以桥连接实现的PCI总线结构具有很好的扩充性和兼容性,允许多条总线并行工作。

18.何谓分布式仲裁?画出逻辑结构示意图进行说明。

答:分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。显然,分布式仲裁是以优先级仲裁策略为基础

AB7仲裁ABi总线AB0竞争CN7W7CNi设备竞争号WiCN0W0设备竞争号接其它设备

19,总线的一次信息传送过程大致分哪几个阶段?若采用同步定时协议,请画出读数据的同步时序图。

答:总线的一次信息传送过程,大致可分为如下五个阶段:

请求总线,总线仲裁,寻址(目的地址),信息传送,状态返回(或错误报告)

总线时钟启动信号读命令地址线地址数据线数据认可

20.某总线在一个总线周期中并行传送8个字节的信息,假设一个总线周期等于一个总线时钟周期,总线时钟频率为70MHz,总线带宽是多少? 答:8*70=560MHz/s

第七章 外围设备

1.计算机的外围设备是指 。

A.输入/输出设备 B.外存储器

C.输入/输出设备及外存储器 D.除了CPU和内存以外的其他设备 答:D.

2.打印机根据印字方式可以分为 和 两大类,在 类打印机中,只有 型打印机能打印汉字,请从下面答案中选择填空。

A.针型打印机 B.活字型打印机 C.击打式 D.非击打式 答:C.D.C.A.

3.有一汉字CRT显示器,它可显示3000个汉字,每字以11*16点阵组成,字间间隔一点,两排字间隔4条扫描线,32字/排,12排/屏,一个汉字编码占2个字节,帧频50Hz,帧回扫和行回扫时间均占扫描时间的20%(扫描时间包括正扫和回扫),行频可在60 ~ 70us间选择。由时钟源输出经点计数器 -> 字计数器 -> 行计数器 ->排计数器分频产生。RAM用来存储字符的编码,ROM用来存储汉字的点阵信息。试求: (1)RAM的存储容量=( )*( ) (2)ROM的存储容量=( )*( ) (3)各计数器的位数分别是多少? (4)时钟源频率是多少?

解:(1)RAM存储器存储字符的编码,因为每屏显示32*12=384字,而每个汉字的编码占2个字节(内码占两个字节,汉字一般在图形方式下显示,其属性不用存储),所以RAM的存储容量=(32*12)*(2)=768字节

(2)ROM存储器是存储汉字点阵信息,因为总共可显示3000个汉字,每个汉字以11*16的点阵组成,所以ROM的存储容量=3000*12*16 = 576000位 = 72000字节。

(3)点计数器:因为每个字的点阵是11列,加上间隔1点,共12个点,故点计数器为4位;字计数器:因为每排32个字,水平回扫占扫描时间的确20%,设水平回扫相当x个字符,则有x/(32+x)=20%,可求得x=8,即行回扫约占8个字符的时间,故字计数最多计到40,因此字计数器应为6位;行计数器:每个汉字点16行,两排字之间间隔4行,共20行,所以行计数器应为5位;排计数器:因汉字可显示12排,帧回扫占扫描时间的确20%,设帧回扫相当x排字符,则有x/(12+x)=20%,可求得x=3,即帧回扫约占3排字符的时间,故排计数最多计到15,因此排计数器为4位。

(4)时钟源频率=50Hz*12*40*20*15=7.2MHz

行频=50Hz*15*20=15KHz,行扫描周期=1/15(ms)=66us,满足题目要求。

4.已知字符显示器每排显示80个字符,一帧可显示25排,字符编码采用ASCII码,使用

7* 7字符点阵,字间隔为1个点,字符排间隔为1条扫描线,行逆程占34个字符时间,场逆程占7排字符时间,刷新频率为60Hz,求: (1)刷新存储器容量和存取时间的要求;

(2)时钟频率和定时电路各计数器的最大计数值; (3)画出该字符显示器框图。

解:(1) 刷新存储器的容量80*25=2000字节(若考虑属性,则为4000个字节)。 因为每秒钟刷新60帧,每帧2000字,每个字一个字节(不考虑属性),所以存取时间=1/(60*2000)=8.3us(按字节存取时)。

(2) 时钟频率和定时电路各计数器的最大计数值

因每帧25排,加上逆程扫描占7排时间,共32排,所以排计数器为5位; 因每排80字符,加上逆程占34字符时间,共114字,所以字计数器为7位; 因每个字符占7个扫描行,加上排间隔1行,共8行,所以行计数器为3位; 因每个字符占7个扫描点,加上字间隔1点,共8个点,所以点计数器为3位; 因此,时钟频率=32*114*8*8*60=14008320Hz,约14MHz。 (3) 字符显示器框图与 教材P.240 图7.2 类似,<略>

5.一光栅扫描图形显示器,每帧有1024×1024像素,可以显示256种颜色,问刷新存储器容量至少需要多大?

解:刷新存储器的容量为像素个数*每个象素所点的字节数。 1024*1024*1=1MB

6.一个双面软盘,每面有40道,每道9个扇区,每个扇区存储512B,请求出格式化容量。 解:格式化容量为:2*40*9*512=360KB。

7.试推导磁盘存储器读写一块信息所需总时间的公式。 答:磁盘存储器读写一块信息所需总时间为

平均寻道时间+平均旋转等时间+一块数据的写入过程时间

8.某磁盘存储器转速为3000转/分,共有4个记录面,每道记录信息为12 288B,最小磁道直径为230mm,共有275道,道密度为5道/mm。问: (1)磁盘存储器的存储容量是多少? (2)最高位密度与最低位密度是多少? (3)磁盘数据传输率是多少? (4)平均等待时间是多少?

(5)给出一个磁盘地址格式方案。

解:(1)磁盘存储器的存储容量=4*275*12288=13516800字节

(2)因为最小半径R1=230/2=115,

最小磁道长度为2πR1=2*3.14159*115=722.57mm 所以最高位密度=12288/722.57=17字节 又因为最大半径R2=R1+275/5=115+55=170

最大磁道长度为2πR2=2*3.14159*170=1068 所以最低位密度=12288/1068=11.5字节 (3)磁盘数据传输率c=r*N

r=3000/60=50转/秒;N=12288字节/道 所以c=50*12288=614400字节。

(4)平均等待时间 = 旋转一圈时间的一半 = 1/(2*r)=1/(2*50)=10ms (5)给出一个磁盘地址格式方案。

设每个扇区为512字区,则12288/512=24,所以地址为5位;

因记录面为4,所地址为2位,道数为275,所以地址为9位,因此整个地址格式为

16位,即柱面号(9位)盘面号(2位)扇区号(5位)。 9.已知某磁盘存储器转速为2400转/分,每个记录面道数为200道,平均找道时间为60ms,每道存储容量为96Kbit,求磁盘的存取时间与数据传播率。 解:磁盘的平均存储时间=平均找道时间+平均旋转等时间

=60+60*1000/(2*2400)=60+12.5=72.5ms

因为每道容量为96Kbit,而磁盘每秒钟转2400转/60秒,即40转/秒,

所以最大数据传输入率为96Kbit*40=3840K bit/秒 = 480KB/秒

10.软盘驱动器使用双面双密度软盘,每面有80道,每道15扇区,每个扇区存储512B。已知磁盘转速为360转/分,假设找道时间为10—40ms,今写入4096B,平均需要多少时间?最长时间是多少?

解:道容量=15*512=7680B

写入一个扇区512字节的时间为1/(6*15)秒=1000/90=11.11ms 4096/512=8个扇区,

认为要写入的8个扇区是同一道上的,则写入时间为8/(6*15)秒=8000/90=800/9ms=88.89ms 平均找道时间=(10+40)/2=25ms

因磁盘转一圈的时间为60/360=1/6秒,所以平均旋转等待时间为1/12秒 写入4096B平均需要时间为:25+83.33+88.89=197.22ms 写入4096B最长需要时间为:40+166.66+88.89=295.55ms

11.磁带机有9道磁道,带长600m,带速2m/s,每个数据块1KB,块间间隔14mm,若数据传输率为128 000B/s,试求; (1)记录位密度;

(2)若带的首尾各空2m,求此带最大有效存储容量。

解:(1)由于数据传输率C=D*V,其中,D为记录位密度,V为线速度,

所以记录位密度D=C/V=128000B/2=64000B/M=64B/mm=1625.6B/英寸。

(2)传送一个数据块所需的时间为t=1024B/128000B/s=1/125秒 一个数据块占用长度为l=v*t=2m/s*1/125s=0.016m=16mm 每块间隙l1=14mm,数据块总数为:

(600-2*2)/(l+l1)=596*1000/30=19866块

故磁带存储器有效存储容量为19866块*1KB/块=19866KB 12.写入代码为11010100110,试画出NRZ。,NRZ1,PM,FM,MFM制写电流波形,指出哪些记录方式有自同步能力。

解:NRZ0,NRZ1没有自同步能力。RZ,PM,FM,MFM均有自同步能力。

写入代码11010100110的各种电流波形如下图

13.一台活动头磁盘机的盘片组共有20个可用的盘面,每个盘面直径18英寸,可供记录部分宽5英寸,已知道密度为100道/英寸,位密度为1000位/英寸(最内道),并假定各磁道记录的信息位数相同。试问:

(1)盘片组总容量是多少兆(106)位?

(2)若要求数据传输率为1MB/s,磁盘机转速每分钟应是多少转? 解:(1) 因为道密度为100道/英寸,而可供记录的部分宽5英寸,

所以磁道数为: 5*100=500道;

又因最内圈磁道直径:18-2*5=8英寸, 所以其周长为8*3.14=25.12英寸;

所以道容量为 8*3.14*1000/8=3140字节/道 所以面容量为3140*500=1570000字节/面 所以总容量为1570000*20=3140000字节

(2) 若要求数据传输率为1MB/s,而数据传输率=每道字节数*每秒钟转速 所以每分钟转速=数据传输率*60/每道字节数 =1024*124*60/3140=20036转/分 14.有一台磁盘机,其平均找道时间为30ms,平均旋转等待时间为10ms,数据传输率为500B/ms,磁盘机上存放着1000件每件3000B的数据。现欲把一件件数据取走,更新后再放回原地,假设一次取出或写入所需时间为平均找道时间+平均等待时间+数据传送时间

另外使用CPU更新信息所需的时间为4ms,并且更新时间同输入输出操作不相重叠。试问:

(1)更新磁盘上全部数据需多少时间?

(2)若磁盘机旋转速度和数据传输率都提高一倍,更新全部数据需多少时间? 解:(1) 更新一件数据的时间

30+10+3000/500+4=50ms

全部数据更新所需时间:50*1000=50秒

(2) 若磁盘机旋转速度和数据传输率都提高一倍,更新一件时间为

30+5+3000/1000+4=42ms

全部数据更新所需时间:42*1000=42秒

15.有如下六种存储器,主存、高速缓存、寄存器组、光盘存储器、软磁盘和活动头硬磁盘存储器, 要求:

(1)按存储容量和存储周期排出顺序;

(2)将有关存储器排列组成一个存储体系; (3)指明它们之间交换信息时的传送方式。 解:(1) 按容量从小到大可排为:

寄存器组——高速缓存——软磁盘存储器——光盘存储器——主存——活动头硬磁盘存储器

按存储周期从小到大可排为:

寄存器组——高速缓存——主存——活动头硬磁盘存储器——光盘存储器——软磁盘存储器

(2) 高速缓存——主存——活动头硬磁盘存储器可构成三级存储体系。 (3) 它们之间交换信息时的传送方式。

高速缓存与主存之间的数据交换方式为猝发式,以块为单位 主存与硬盘之间的数据传送方式常用DMA方式

16.CRT的显示适配器中有一个刷新存储器,说明其功能。刷存的容量与什么因素有关?若CRT的分辨率为1024*1024像素点,颜色深度为24位,问刷新存储器的存储容量是多少? 解:刷新存储器用于存放待显示的字符的ASCII和属性码,或图形状态下的每个象素的颜色值。其容量与显示器的分辨率和颜色设置有关。若CRT的分辨率为1024*1024像素点,颜色深度为24位,则刷新存储器的存储容量是: 1024*1024*3=3MB。

17.刷新存储器的重要性能指标是它的带宽。若显示工作方式采用分辨率为1024*768,颜色深度为24位,帧频(刷新速率)为72Hz,求: (1)刷新存储器的存储容量是多少? (2)刷新存储器的带宽是多少?

解:(1)刷新存储器的存储容量是:1024*768*3 = 2.25MB (2)刷新存储器的带宽是:024*768*3B*72/s = 162MB/s,若考虑刷新存储器不光是供显示控制器刷新读出,还要供CPU更新,所以若两者各占半时间,则刷新存储器的带宽为2*216MB=432MB/秒

18.某双面磁盘,每面有220道,已知磁盘转速r=4000转/分,数据传输率为185 000B/s,求磁盘总容量。

解:因为转速为4000转/分,数据传输率为185000B/S,所以道容量为 185000B/s?2775B/转?2775B/道4000转/60s

因此磁盘的总容量为:220*2775B=610500字节。 2*220*2775 = 1.16MB

第八章 输入输出系统

1.如果认为CPU等待设备的状态信号是处于非工作状态(即踏步等待),那么在下面几种主机与设备之间的数据传送中: 主机与设备是串行工作的;

主机与设备是并行工作的, 主程序与设备是并行运行的。 A.程序查询方式 B.程序中断方式 C.DMA方式 答:A,B,C

2.中断向量地址是 。

A.子程序入口地址 B.中断服务程序入口地址

C.中断服务程序入口地址指示器 D.例行程序入口地址 答:B

3.利用微型机制作了对输入数据进行采样处理的系统。在该系统中,每抽取一个输入数据

就要中断CPU一次,中断处理程序接收采样的数据,将其放到主存的缓冲区内。该中断处理需时x秒,另一方面缓冲区内每存储n个数据,主程序就将其取出进行处理,这种处理需时y秒。因此该系统可以跟踪到每秒 次的中断请求。

A.n/(n*x+y) B.n/(x+y)·n C.min(1/x,n/y) 答:A

4.采用DMA方式传送数据时,每传送一个数据就要占用一个 的时间。 A.指令周期 B.机器周期 C.存储周期 D.总线周期 答:C

5.通道的功能是:(1) ,(2) 。按通道的工作方式分,通道有 通道、 通道和 通道三种类型。

答:组织外围设备和内存进行数据传输;控制外围设备;选择;数组多路;字节多路

6.在图8.7中,当CPU对设备B的中断请求进行服务时,如设备A提出请求,CPU能够响应吗?为什么?如果设备B一提出请求总能立即得到服务,问怎样调整才能满足此要求? 答:能响应,因为设备A的优先级比设备B高。若要设备B总能立即得到服务,可将设备B从第二级取出来,单独放在第三级上,使第三级的优先级最高,即令IM3 = 0。

7.在图8.7中,假定CPU取指并执行一条指令的时间为t1,保护现场需t2,恢复现场需t3,中断周期需t4,每个设备的设备服务时间为tA,tB,…,tG。试计算只有设备A,D,G时的系统中断饱和时间。

答:依次处理设备A,设备D,设备G的时间为: T1 = t1+t2+t3+t4+tA T2 = t1+t2+t3+t4+tD T3 = t1+t2+t3+t4+tG

总时间为T = T1+T2+T3 = 3*( t1+t2+t3+t4)+ tA + tD + tG

8.设某机有5级中断;L0,L1,L2,L3,L4,其中断响应优先次序为:L。最高,L1次之,L4最低。现在要求将中断处理次序改为L1->L3->L0->L4->L2,试问: (1) (1) 表8.2中各级中断处理程序的各中断级屏蔽值如何设置(每级对应一

位,该位为“0”表示允许中断,该位为“1”表示中断屏蔽)?

(2) (2) 若这5级中断同时都发出中断请求,按更改后的次序画出进入各级中

断处理程序的过程示意图。

表8.2 各级中断处理程序的各中断级屏蔽位 中 断 处 中 断 处 理 级 屏 蔽 位 理 程 序 L0级 L1级 L2级 L3级 L4级 L0中断处理程序 L1中断处理程序 L2中断处理程序 L3中断处理程序 L4中断处理程序 解:(1) 按题意,各级中断处理程序的各中断级屏蔽值设置如下表 中断处理程序 中 断 处 理 级 屏 蔽 位 L0级 L0中断处理程序 L1中断处理程序 L2中断处理程序 L3中断处理程序 L4中断处理程序 1 1 0 1 0 L1级 0 1 0 0 0 L2级 1 1 1 1 1 L3级 0 1 0 1 0 L4级 1 1 0 1 1 (2) 若这5级中断同时都发出中断请求,按更改后的次序画出进入各级中断处理程序的过程示意图如下:

9. 某机器CPU中有16个通用寄存器,运行某中断处理程序时仅用到其中2个寄存器,请问响应中断而进入该中断处理程序时是否要将通用寄存器内容保存到主存中去?需保存几个寄存器?

解:虽然CPU中有16个通用寄存器,但因运行某中断处理程序时仅用到其中2个寄存器,因此在响应中断而进入该中断处理程序时,不需要将所有通用寄存器内容保存到主存中,需保存的只是在中断处理程序中要用到的2个寄存器。

10.画出二维中断结构判优逻辑电路,包括;(1)主优先级判定电路(独立请求),(2)次优先级判定电路(链式查询)。在主优先级判定电路中应考虑CPU程序优先级。设CPU执行程序的优先级分为4级(CPU7_CPU4),这个级别保存在PSW寄存器中(7,6,5三位)。例如CPU5时,其状态为101。 解:(略)

11.参见图8.7所示的二维中断系统。(1)若CPU现执行E的中断服务程序,IM2,IM1,IM0的状态是什么?(2)CPU现执行H的中断服务程序,IM2,IM1,IM0的状态是什么?(3)若设备B一提出中断请求,CPU立即进行响应,应如何调整才能满足要求? 解:(1)若CPU现执行E的中断服务程序,IM2,IM1,IM0的状态是011; (2)CPU现执行H的中断服务程序,IM2,IM1,IM0的状态是001;

(3)若设备B一提出中断请求,CPU立即进行响应,可将B调整到A的前面。 12.下列陈述中正确的是 。

A.在DMA周期内,CPU不能执行程序

B.中断发生时,CPU首先执行入栈指令将程序计数器内容保护起来

C.DMA传送方式中,DMA控制器每传送一个数据就窃取一个指令周期 D.输入输出操作的最终目的是要实现CPU与外设之间的数据传输 答:D

13.Pentium系统有两类中断源:①由CPU外部的硬件信号引发的称为 ,它分为可屏 和非屏蔽 ;②由指令引发的称为 ,其中一种是执行 ,另一种是 。 答:外部中断、可屏蔽中断、非屏蔽中断、内部中断,异常,执行软件中断指令

14.IEEEl394是 I/O标准接口,与SCSI I/O标准接口相比,它具有更高的 ,更强的 ,体积 ,连接方便。

A.并行 B.串行 C.数据传输速率 D.数据传输实时性 E.小 答:B,A,C,D,E 15.SCSI是系统级 ,是处于主适配器和智能设备控制器之间的 I/O接口。SCSI-3标准允许SCSI总线上连接的设备由 个提高到 个,可支持 位数据传输。 A.并行 B.接口 C.16 D.8 E.16 答:B,A,D,C,E

16.比较通道、DMA、中断三种基本I/O方式的异同点。

答:通道是通过执行通道指令来实现输入/输出的;DMA是由DMA控制器在获得总线控制权后,直接在内存与外设之间实现数据传送的;中断是通过CPU在响应中断时,转入中断服务程序,执行输入/输出指令来完成输入/输出的。

17.用多路DMA控制器控制光盘、软盘、打印机三个设备同时工作。光盘以20us的间隔向控制器发DMA请求,软盘以90us的间隔向控制器发DMA请求,打印机以180us的间隔发DMA请求。请画出多路DMA控制器的工作时空图。 答:

光盘20us软盘90us打印机DMA控制器180us

18.若设备的优先级依次为CD-ROM、扫描仪、硬盘、磁带机、打印机,请用SCSI进行配置,画出配置图。 (略)