计算机组成原理习题与思考题参考答案

更新时间:2024-04-09 02:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

习题与思考题答案

第1章 习题与思考题答案

1. 电子数字计算机与电子模拟计算机的主要区别是什么?

电子模拟计算机问世较早,内部使用电信号来模拟自然界的实际信号。其处理问题的精度差;所有的处理过程均需模拟电路来实现,电路结构复杂,抗外界干扰能力极差。电子数字计算机是当今世界电子计算机行业中的主流,其内部处理的是一种称为符号信号或数字信号的电信号。它的主要特点是“离散”,在相邻的两个符号之间不可能有第三种符号存在。由于这种处理信号的差异,使得它的组成结构和性能优于模拟式电子计算机。现在我们一般说的计算机都是指电子数字计算机。

2. 简单描述计算机的发展过程和应用范围。

第一代电子管计算机 (1946-1957):主要为军事或国防的需要而研制。

第二代晶体管计算机 (1958-1964):开始应用到图形处理领域,开创了计算机处理文字和图形的新阶段;鼠标问世;开始有了通用机和专用机之分,通用机发展势头很大;多种高级语言投入使用。 第三代小规模集成电路和中规模集成电路计算机 (1965-1971): 运算速度提高到每秒运算百万次以上;多种完善操作系统推向使用。

第四代大规模集成电路和超大规模集成电路计算机(1972-): 各行各业开始普遍使用计算机;微机应运而生。

3. 冯·诺依曼结构的主要特点是什么?

(1)计算机应用包括运算器、控制器、存储器、输入/输出设备。 (2)计算机内部应采用二进制来表示指令和数据。

(3)将篇好的程序和数据送会内存储器,然后计算机自动地逐条取出指令和数据进行分析、处理和执行。

4. 计算机的硬件由哪些部件组成?它们各有哪些主要功能?

运算器:执行所有的算术运算;

执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。

存储器:是计算机系统中的记忆设备,用来存放程序和数据。计算机中的全部信

息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。

控制器:从内存中取出一条指令,并指出下一条指令在内存中位置;

对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作; 指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。 输入设备:向计算机输入转化为二进制形式的数据和信息。

输出设备:将计算机内部的二进制信息转换为人和设备能识别的信息显示输出。

1

5. 简单描述计算机的层次结构,说明各层次的主要特点。

微程序机器级、传统机器级、操作系统机器级、汇编语言机器级、高级语言机器级、应用语言机器级。特点详见P7.

6. 计算机系统的主要技术指标有哪些?

机器字长、运算速度、机器容量、吞吐量、响应时间等。

第2章 习题与思考题答案

1、将下列二进制数、八进制数和十六进制数分别转换成十进制数 (1)(10101.1011)2 = 21.6875 (2)(111111)2 = 95 (3)(457.25)8 = 303.328125 (4)(777)8 = 511 (5)(3AB.5C)16 = 939.5 (6)(FFFF)16 = 65535

2、将下列十进制数分别转换成二进制数、八进制数和十六进制数 (1)(24.25)10 (11000.01)2 (30.2)8 (18.8)16 (2)(255.4)10 (11111111.)2 (30.2)8 (18.8)16 (3)(4090.93)10 (4)(32765.52)10 参考答案

(1) (24.25)10=(11000.01)2=(30.2)8=(18.8)4

(2) (255.4)10=(1111 1111 .0110 0110)2=(377.314)8=(FF.66)16

(3) (4090.93)10=(1111 1111 1010.111011100)2=(7772.734)8=(FFA.EE)16

(4) (32765.52)10=(111111111111101.1000001010)2=(77775.412)8=(7FFD.85)16

3、某机字长16位,数据可采用定点和浮点两种表示方法,采用浮点表示时,阶码占5位,尾数占11位,rm=2,各包含1位符号位。请写出。 (1)带符号定点小数的表示范围; (2)带符号定点整数的表示范围; (3)浮点正数的表示范围; (4)浮点负数的表示范围; (5)最小的规格化正数; (6)最大的规格化负数。 参考答案

(1)带符号定点小数表示范围:-(1-2-16)~(1-2-16) (2)带符号定点整数表示范围:-(216-1)~216-1

(32-1)

(3)浮点正数表示范围:0~(211-1)×2 (4)浮点负数表示范围:-(211-1)×2(32-1)~0 (5)最小的规格化正数:(2-1+2-11)×2(-(32-1) (6)最大的规格化负数:-(2-1+2-11)×2-(32-1)

2

4、第3题中要求用补码考虑数的大小,写出题中(1)~(6)的表示范围。 参考答案

对于补码表示:

(1) -1~1-2-16 (2)-216~216-1 (3)0~(211-1)×2(32-1)

1

(4)-21×2(32-1)~0 (5)(2-1+2-11)×2-32 (6)-2-11×2-32

5、写出下列各定点数的原码、补码和反码。 (1)?111115153030,-,+,-,+,? 16166464512512(2)+61,-61,+120,-120,+500,-500

参考答案

(1)(11/16)10=+0.1011 原码:0.1011 补码:0.1011 反码:0.1011 (-11/16)10=-0.1011 原码:1.1011 补码:1.0101 反码:1.0100

(15/64)10=0.001111 原码:0.001111 补码:0.001111 反码:0.001111 (-15/64)10=-0.001111 原码:1.001111 补码:1.110001 反码:1.110000

(30/512)10=0.000011110 原码:0.000011110 补码:0.000011110 反码:0.000011110 (-30/512)10=-0.000011110 原码:1.000011110 补码:1.111100010 反码:1.111100001 (2)(61)10=111101 原码:0111101 补码:0111101 反码:0111101 (-61)10=-111101 原码:1111101 补码:1000011 反码:1000010 (120)10=1111000 原码:01111000 补码:01111000 反码:01111000 (-120)10=-1111000 原码:11111000 补码:10001000 反码:100001111 (500)10=111110100 原码:0111110100 补码:011110100 反码:011110100 (-500)10=-111110100 原码:1111110100 补码:1000001100 反码:1000001011

6、已知下列各数的补码,求出它们的真值。 (1)[x]补=1.101100,[y]补=0.101011 (2)[x]补=0.010011,[y]补=1.110101 参考答案

(1)[x]补=1.101100 x的真值为-0.010100 [y]补=0.101011 y的真值为:0.101011 (2)[x]补=0.010011 x的真值为0.010011 [y]补=1.110101 y的真值为:-0.001011

7、已知下列各数的原码,求出它们的补码 (1)[x]原=1.010101,[y]原=0.101010 (2)[x]原=0.110101,[y]原=1.011010 参考答案

(1)[x]原=1.010101 [x]补=1.101011 [y]原=0.101010 [y]补=0.101010 (2)[x]原=0.110101 [x]补=0.110101 [y]原=1.011010 [y]补=1.100110

8、已知某浮点数为X=0.1010101×2+101, 当rm=2时,写出X的大小;

3

rm=8时,写出X的大小; rm=16时,写出X的大小。

参考答案

rm=2时 x=21.25 rm=8时x=21760 rm=16时 x=696320

9、将下列十进制数表示成浮点规格化数,假定阶码4位,尾数8位,各包含1位符号位,rm=2。

(1)+27/128(2)-27/128(3)?20 (4)-61参考答案

(1)27/128=0.0011011=0.11011×2-10 所以浮点规格化数为:1010 01101100 (2)-27/128=-0.0011011=-0.11011×2-10 所以浮点规格化数为:1010 11101100

(3)20×3/8=10100.011=0.10100011×2-101所以浮点规格数为:1101 0101000超出了表示范围 (4)-61×1/4=-111101.01=-0.11110101×2-110浮点规格数为1110 111110101超出了范围

10、已知:X=+0.1011,Y=-0.0101, 求:[X]原,[X]补,[381 41X],[-X]补;[Y]原,[Y]补,[2Y]补,[-Y]补各为多少? 2补X=0.1011 Y=-0.0101

[X]原=0.1011 [X]补=0.1011 [X/2]补=0.01011 [-X]补=1.0101 [Y]原=1.0101 [Y]补=1.1011 [2Y]补=1.011 [-Y]补=0.0101 11.

X=-0.10011001×2+101 Y=0.11010001×2-011 Z=-0.11000001×2-110 [X]原=0101 110011001 [Y]原1011 011010001 [Z]原=1110 111000001 [X]补=0101 101100111 [Y]补=1101 011010001 [Z]补=1010 100111111

11、已知:X=-0.10011001×2+101, Y=+0.11010001×2-011, Z=-0.11000001×2-110, 求:[X]原,[X]补;[Y]原,[Y]补;[Z]原,和[Z]补各为多少? 参考答案

X=-0.10011001×2+101 Y=0.11010001×2-011 Z=-0.11000001×2-110 [X]原=0101 110011001 [Y]原1011 011010001 [Z]原=1110 111000001 [X]补=0101 101100111 [Y]补=1101 011010001 [Z]补=1010 100111111

12、已知X是一个规格化浮点数,且[Xm]补=X0,X1X2X3?Xn,请说明X0,X1,X2,X3,?Xn的取值。 参考答案

4

13、已知浮点数X和Y的阶码分别为Xe和Ye,如下所示,请求出[Xe]移和[Ye]移。 (1)Xe=+0010,Ye=+0111; (2)Xe=+0101,Ye=-1010; (3)Xe=-01011,Ye=+01001; (4)Xe=-10100,Ye=-01010。 参考答案

(1)Xe=0010 Ye=0111 [Xe]移=1.0010 [Ye]移=1.0111 (2)Xe=0101 Ye=-1010 [Xe]移=1.0101 [Ye]移=0.0110

(3) Xe=-01011 Ye=-1010 [Xe]移=0.10101 [Ye]移=1.01001 (4) Xe=-10100 Ye=-01010 [Xe]移=0.01100 [Ye]移=0.10110

14、将(100.75)10转换成实用短浮点数格式。 参考答案

(100.75)10=(1100100.11)2

表示成规格化二进制格式为:+1.10010011×2+110 计算出解码的移码为:110+01111111=10000101

所以其短浮点数格式为:0100,0010,1100,1001,1000,0000,0000,0000.=42C98000H

15、将短浮点数A1C90000H转换成十进制数。 参考答案

A1C9000H

首先将其展为二进制数1010,0001,1100,1001,0000,0000,0000,0000, 阶码真值为:01000011-0.1111111=-00111100=-60

-67

尾数为:-1.1001001=-55×2

16、某机字长16位,表示浮点数时,阶码占5位,尾数占11位,(各包含一位符号位),现已知下列浮点数的原码,请求出它们的真值。 (1)[X]原=1210H (2)[Y]原=1610H (3)[Z]原=9210H (4)[W]原=9610H 参考答案

(1)[X]原=1210H=0001,0010,0001,000 阶码为00010 尾数为010 001 0000 X=(+10.0001)2=2.0625

(2)[Y]原=1610H=0001,0110,0001,0000 阶码为00010.尾数为11000010000 Y=(-10.0001)2=-2.0625

5

(3)[Z]原=9210=1000,0010,0001,0000 阶码为10010 尾数为01000010000 Z=(+0.0010000)2=33/256

(4)[W]原=9610H=1001,0110,0001,0000 阶码为10010 尾数为11000010000 W=(-0.00100001)2=-33/256

17、已知用ASCII码表示的0~9分别为30H~39H,请设计出它们的海明码格式。 ASCII码n=8 故k=4

位号 H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1 位名称 b8 b7 b6 b5 c4 b4 b3 b2 c3 b1 c2 c1

18、已知:[X]补=X0,X1X2?Xn, 求证:

X??X0??Xi2?i

i?1n当X0=0时 [X]补=X=X0.X1X2。。。Xn=0.X1X2。。。Xn =

19、已知:X=-0.X1X2?Xn, 求证:

[X]补=1.X1X2?Xn+0.00?01 n-1个

第3章 习题与思考题答案

1、采用变形补码进行下列定点加法运算,求X+Y=?并判定是否产生了运算溢出及溢出性质。 (1) 已知X=+0.11011,Y=+0.01011 (2) 已知X=-0.11001,Y=+0.10101 (3) 已知X=-0.10110,Y=-0.00111 (4) 已知X=-0.11011,Y=-0.10001 参考答案

(1)X=+0.11011 Y=+0.01011

[X]原=0.11011 [Y]原=0.01011 [X]补=0.11011 [Y]补=0.01011 [X]补’=00.1101 [Y]补’=00.01011 [X+Y]补’=01.00110 产生了溢出 (2)X=-0.11001 Y=+0.10101

[X]原=1.11001 [Y]原=0.10101 [X]补=1.00111 [Y]补=0.10101 [X+Y]补’=11.11100 [X+Y]原=1.00100

6

X+Y=-0.00100无溢出

(3)X=-0.10110 Y=-0.00111

[X]原=1.10110 [Y]原=1.00111 [X]补=1.01010 [Y]补=1.11001 [X+Y]原=1.11101 [X+Y]补’=11.00011 X+Y=-0.11101 无溢出 (4)X=-0.11011 Y=0.10001

[X]原=1.11011 [Y]原=1.10001 [X]补=1.00101 [Y]补=1.01111 [X+Y]补=10.10100 产生了负溢出

2、采用变形补码进行下列定点减法运算,求X-Y=?并判定是否产生运算溢出及溢出性质。 (1) 已知X=+0.11001,Y=+0.00011 (2) 已知X=+0.10001,Y=-0.11101 (3) 已知X=-0.01110,Y=-0.10111 (4) 已知X=-0.11001,Y=+0.00111 参考答案

(1)X=+0.11001 Y=+0.00011 [X]补=0.11001 [-Y]补=1.11101 [X-Y]补’=00.10110 ->[X-Y]原=00.10110 X-Y=+0.10110

(2)X=+0.10001 Y=-0.11101 [X]补=0.10001 [-Y]补=0.11101 [X-Y]补’=01.01110 产生了溢出

(3)X=-0.01110 Y=-0.10111 [X]补=1.10010 [-Y]补=0.10111 [X-Y]补’=00.01001 [X-Y]原=00.01001 X-Y=+0.01001

(4)X=--0.11001 Y=+0.00111 [X]补=1.00111 [Y]补=1.11001 [X-Y]补’=11.00000 X-Y=-1

3、分别用原码一位乘法、补码一位乘法,求X·Y=? (1) 已知X=+0.10001,Y=+0.11111 (2) 已知X=-0.10101,Y=+0.00101 (3) 已知X=-0.01101,Y=-0.10010 (4) 已知X=+0.11101,Y=-0.10011 参考答案

X=+0.10001 Y=+0.11111 [X]原×[Y]原=0.1000001111 [X]补×[Y]补=001000001111 X×Y=0.1000001111

4、分别用原码加减交替法和补码加减交替法,求X/Y=? (1) 已知X=+0.11001,Y=+0.11101 (2) 已知X=-0.01001,Y=+0.10001 (3) 已知X=-0.10101,Y=-0.11011 (4) 已知X=+0.01101,Y=-0.10110 参考答案

5、为什么要推出移码表示法?求出下列各浮点数的阶码的移码,并比较它们的大小。

7

(1) Xe=+0010,Ye=+0111 (2) Xe=+0101,Ye=-1010 (3) Xe=-01011,Ye=+01001 (4) Xe=-10100,Ye=-01010 参考答案

移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大 (1)[Xe]移=1.0010 [Y]移=1.01111 (2)[Xe]移=1.0101 [Ye]移=0.0110 (3)[Xe]移=0.10101 [Ye]移=1.01001 (4)[Xe]移=0.01100 [Ye]移=0.10110

6、完成下列浮点数的加法运算,求X+Y=?判定是否产生了溢出?并说明溢出性能。

(1) 已知:X=2011×(+0.100101)

Y=2010×(-0.011110)

(2) 已知:X=2101×(-0.100010)

Y=2100×(+0.010110) (3) 已知:X=2+001×(+0.111011) Y=2+010×(+0.111101) (4) 已知:X=2+110×(-0.111111) Y=2+111×(-0.110001) 参考答案

(1)X=2-011×(+0.100101) =2-010×(+0.0100101) Y=2-010×(+0.011110) X+Y=2-010×(-0.0010111)

(2)X=2-101×(-0.100010)= 2-100×(-0.0100010) Y=2-100×(+0.010110) X+Y=2-100×(+0.0001010)

(3)X=2+001×(0.111011)= 2+010×(+0.0111011) Y=2+010×(+0.111101) 00.011101+00.1111010=01.0110101 正溢出

(4)X=2+110×(-111111)= 2+111×(-0.0111111) Y=2+111×(-0.110001) 11.1000001+11.0011110=10.1011111负溢出

7、完成下列浮点数的减法运算,求X-Y=?并判定是否产生运算溢出?并说明溢出性质。

(1) 已知:X=2011×(+0.100101)

Y=2010×(-0.011110)

(2) 已知:X=2101×(-0.100010)

Y=2100×(+0.010110) (3) 已知:X=2+111×(-0.111001) Y=2+110×(+0.110011) (4) 已知:X=2+110×(+0.001101) Y=2+111×(+0.001001)

(1)X=2-011×(+0.100101)= 2-010×(+0.0100101) Y=2-010×(-0.011110) X-Y=2-010×(0.1100001)

(2)X=2-101×(-0.100010)= 2-100×(-0.0100010) Y=2-100×(+0.010110) X-Y=2-100×(-0.1001110)

(3)X=2+111×(-0.111001) Y=2+110×(+0.110011)= 2+111×(+0.0110011)

8

X-Y=2+111×(-0.0111111)

(4)X=2+110×(+0.001101)= 2+111×(+0.0001101) Y=2+111×(+0.001001) X-Y=2+111×(+0.0011111)

8、完成下列浮点数的乘法运算,求X×Y=? (1) 已知:X=2+3×(-13/16) Y=2+4×(+9/16)

(2) 已知:X=2101×(+0.01110)

Y=2010×(-0.00101) (1)X×Y=-117×2+3

(2) X×Y=-0.0001000110×2-111

9、完成下列浮点数的除法运算,求X/Y=?

(1) 已知:X=2010×(13/32) Y=2+011×(-15/16)

(2) 已知:X=2110×(-0.01011)

Y=2011×(-0.10011)

10、现有X=+0.10010101,Y=+0.10110001。

(1) 请用逻辑运算将X的高端4位和低端4位分离成为X1和X2。 (2) 请用逻辑运算将X的高端4位与Y的低端4位合并成为Z。 (3) 请用逻辑运算比较X和Y是否相等。 (4) 请用逻辑运算将X的各位取反得X。

11、某机字长32位,加法器中每4位组成一个小组,每4个小组组成一个大组,小组内并行进位逻辑延迟时间为2ty,大组内并行进位逻辑延迟时间亦为2ty,各位加法器求全加和的延迟时间为3ty,各位之间进位延迟时间亦为2ty。

(1) 已知该加法器采用串行进位方式,计算完成一次加法运算共需要多长时间。

(2) 若该加法器采用单级分组,\并-串\行进位方式,计算完成一次加法运算需要多长时间?

(3) 若该加法器采用两级分组,\并-并-串\行进位方式,计算完成一次加法运算需要多少时间?

(4) 若该加法器采用两级分组,\并-并-并\行进位方式,计算完成一次加法运算需要多少时间。

(1)3ty×32+2ty×31=158ty (2)3ty+2ty×8=19ty

(3)3ty+2ty×4+2ty×2=15ty (4)3ty+2ty×4+2ty=13ty

12、上题中,若采用SN 74181和SN 74182芯片构成32位并行加法器。 在上题中(1)、(2)、(3)、(4)四种情况下各需要多少片SN 74181芯片和多少片SN 74182芯片?并计算出需要多少时间完成一次加法运算。

9

第4章 习题与思考题答案

1、 描述主存储器性能的主要参数有哪些?

存储容量、存取时间、存储周期、存储器带宽。

2、 简述静态存储器(SRAM)和动态存储器(DRAM)的主要区别。

SRAM是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。DRAM使用电容存储,需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积。

3、某8位计算机系统中,主存储器容量为16K×8(位)。 (1)CPU应能输出多少条地址线和多少条数据线? 16K=16x1024=214 故14条地址线 8条数据线

(2)拟采用256×2(位)的RAM芯片构成,需要多少个芯片? 16x1024/256=64 8/2=4 故需要64x4=256个芯片

(3)应该用哪几位地址码来选择RAM芯片?

256=28 故片内需要八位,因此剩下A8-A13来选择RAM芯片。

4、某16位机中CPU可输出地址码20位,拟采用2K×4(位)的静态RAM芯片,构成按字节编址的主存储器。

(1)存储器的总容量可达到多少? 220x8=8M

(2)共需要多少片RAM芯片? 220/2K=512 8/4=2

故需要512x2=1024片

(3)哪些位地址码用来选RAM芯片?哪些位地址码用来选片内地址? 高9位选RAM芯片,低11位选片内地址。

5、某机字长8位,CPU可输出8条数据线(D7~0),16条地址线(A15~0),1条控制线(WE),拟采用2K×4(位)的静态存储器芯片,构成总容量为16K×8(位)主存储器。

(1)共需要多少片RAM芯片?

(2)连接好CPU与主存储器之间的线路(拟用138译码器,可采用部分译码方式)。 (3)主存储器的地址范围是什么?

6、在第5题中,若要求其地址范围为0800H~BFFFH(无地址重叠区)则138译码器应如何连接?

10

7、在第5题中,若要求主存储器的地址范围必须从1800H开始,则138译码器应当如何连接?

8、某计算机系统中,CPU可输出数据线8条(D7~0),地址线16条(A15~0),控制线1条(WE),主存储器中包含1片8K×8(位)的ROM芯片,其地址范围为0000H~1FFFH;1片2K×8(位)的RAM芯片,其地址范围为0F800H~0FFFFH;3片8K×8(位)的RAM芯片,其地址范围为2000H~7FFFH;其他区域目前未用。拟采用1片138译码器进行选片译码,请连接好CPU与主存储器之间的线路(其他逻辑门可根据需要自行设置)。

9、某计算机系统中,采用64K×1(位)的动态存储器芯片构成64K×8(位)的主存储器,其读写周期为500ns。

(1)共需多少片DRAM芯片? 8片

(2)若采用集中式刷新方式,其刷新周期≤2ms,那么在每个刷新周期中将有多少时间禁止CPU访问主存? 由于刷新周期为2ms,读写周期为500nm,故有4000个周期。因为64K为256x256的矩阵存储器,则刷新时间相当于256个读周期,即128微秒。故CPU有128微秒不能访问主存。

(3)若改用分散式刷新方式,那么CPU将受到什么损失? CPU访问整个存储器的速度会降低。 10、某计算机系统中,采用并行主存系统,其总容量为64K字节,已知当前CPU的访存地址流为513~516,7~10,7~10,7~10。

(1)若在单体单字系统中,CPU需要访问几次主存,才能获得上述地址中的指令? 16次。

(2)若构成单体4字并行主存系统,则CPU需要访问几次主存,才能获得上述地址中的指令?

4次。

(3)若构成4体交叉并行主存系统,则CPU需要访问几次主存,才能获得上述地址中的指令。

4次。

11、采用\主存\存储层次的目的是什么? Cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。采用\ 主存\存储层次的目的是为了提高数据的存取速度,提高CPU的利用率。

12、什么是全相联、直接和组相联映像方式,各有什么优缺点。

在全相联映射中,将主存中一个块地址(块号)与块的内容一起存于Cache的行中,其中地址存于Cache行的标记部分中。优点是非常灵活且命中率较高,缺点是比较器电路难于设计和实现。

在直接映射方式中,Cache将s位的块地址分成两部分:r位作为Cache的行地址,s - r位作为标记(tag)与块数据一起保存在该行。优点是硬件简单,成本低。缺点是每个主存块只有一个固定的行位置可以存放,可能发生冲突。

组相联方式将Cache分成u组,每组v行。主存块存到哪个组是固定的,至于存到

11

该组哪行是灵活的。是前两者的折中方案,被普遍采用。

13、什么情况下需要采用替换算法?常用的替换算法有哪几种?各有什么优缺点?

一个新的主存块需要拷贝到Cache,而允许存放此块的行位置都被其他注会占满时,就需要替换算法。常常发生在Cache未命中时。

常用替换算法:

随机算法。完全不反映程序的局部性特点,不是一种好算法,但最容易实现。 先进先出算法。这种算法在一定程度上可以体现程序的局部性特点优于随机算法。 近期最少使用算法。能较好的反映程序局部性特点,但设计较为复杂。

14、采用虚拟存储系统的目的是什么?页式管理、段式管理和段页式管理方式各有什么优缺点。

目的是为了解决如何能够在计算机内运行比主存容量大、甚至大得多的程序这一问题。

段式管理由于采用段,使段的大小可以根据程序的大小来自动调节,从而保证了程序在逻辑上的完整性;同时,它可以实现多个程度段对同一个文件的共享。但它容易在内存中产生一些不可以利用的内存碎片,从而使内存资源不能很好的利用。

页式管理是将内存分成大小相等的空间,按照程序的大小来分配页,从而减少碎片。但页表长度是固定的,所以当一个程序长度超出一个页表的长度时,该程序常常会被存放在几个页表中,从而造成程序在逻辑上的不完整性。页式管理不能对程序进行共享,这是由于页表常常是不连贯的。

段页管理是将段式管理和页式管理结合起来,实现段式管理对程序和数据的共享和程序完整的逻辑结构,并且实现页式管理来减小内存碎片大小的作用。

15、简述虚拟存储器工作的全过程。 P142

第5章 习题与思考题答案

1、某机包含10条机器指令,各条指令的使用频度如下表所示。 指令名称 使用频度 I1 0.33 I2 0.20 I3 0.15 I4 0.10 I5 0.09 I6 0.06 I7 0.03 I8 0.02 I9 0.01 I10 0.01 (1) 计算其操作码的平均信息量H。

H=0.33log2(100/33)+0.2log2(100/20)+0.15log2(100/15)+0.1log2(100/10)+0.09log2(100/9)+0.06log2(100/6)+0.03log2(100/3)+0.02log2(100/2)+0.01log2(100/1)+0.01log2(100/1) =1.14

(2) 若采用等长操作码,则其操作码信息的冗余量为多少?

10条机器指令,需要等长操作码4位。 (4-1.14)/ 4 = 71.5%

(3) 采用Huffman压缩法对操作码进行压缩,获得平均长度最短的操作码编码方案,

计算其操作码的平均长度和所具有的信息冗余量。

12

I1 = 0.33 I2 = 0.20 I3 = 0.15 I4 = 0.10 I5 = 0.09 I6 = 0.06 I7 = 0.03 I8 = 0.02 I9 = 0.01 I10 =0.01 平均长度

= 0.33x2+0.20x2+0.15x3+0.10x3+0.09x3+0.06x4+0.03x5+0.02x6+0.01x7+0.01x7 =2.73

冗余信息量=(2.73-1.14)/ 2.73 = 58.24%

(4) 若采用扩展操作码法获得新的操作码编码方案,其操作码的平均长度应为多少?

前四种使用频率高的用2位码长,后六种使用频率较低的使用5位码长。 则平均长度=(0.33+0.20+0.15+0.10)x 2 + (0.09+0.06+0.03+0.02+0.01+0.01)x5 = 2.66

2、某16位机指令单字长,共有指令50条,其中使用频度最高的指令有6条,使用频度最低的指令有10条。采有扩展操作码法列出三类使用频度不同的指令操作码的编码方案,请给出等长扩展和不等长扩展的两种具体方案。

使用频度最高的有6条,一般的34条,最低的10条。共50条。 I.不等长扩展 000 001 010 011 6条使用频度最高的操作码 100 101

111000000 111000001 ·

· 34条使用频率一般的操作码 ·

111100001

1111111110000 1111111110001 ·

· 10条使用频率最低的操作码 ·

1111111111001 13

II.等长扩展 000 001 010 011 6条使用频度最高的操作码 100 101

111000000 111000001 ·

· 34条使用频率一般的操作码 ·

111100001

111111111000000 111111111000001 ·

· 10条使用频率最低的操作码 ·

111111111001001

3、某机字长32位,指令单字长具有双操作数、单操作数和无操作数三类指令,每个操作数地址为10位,那么三类指令各最多能有多少条指令?

双操作数:212=4096

单操作数:222 - 212=4190208 无操作数:232 - 222=4290772992 4、某机字长16位,具有双操作数、单操作数和无操作数三类指令,每个操作数地址为5位,现有双操作数指令m条、无操作数指令n条,问单操作数指令最多能有多少条?

设单操作指令有x条。 ( (26-m)·25 – x )·25=n 可解得x

5、某机字长32位,CPU中共有32个通用寄存器可用作基址或变址寄存器,等长操作码占8位,可采用直接寻址、间接寻址、寄存器寻址、基址寻址、变址寻址和隐含寻址等6种不同的寻址方式。存储器按字节编址。对于\寄存器存储器\型的双操作数指令,可直接寻址的最大存储空间有多大?若采用寄存器间接寻址方式,那么可寻址的最大存储空间有多大?

i.直接寻址时,地址码对应的就是存储地址,可寻址的最大存储空间为219=512K

14

ii.对于寄存器间接寻址,由于操作数地址存放在寄存器中,可寻址的最大存储空间为232 ,即4096M

6、假设上题中双操作数指令的目标操作数固定存放在通用寄存器R0中,而源操作数可采用上述6种寻址方式,请设计出6种相应的指令格式,并写出源操作数的有效地址表达式。

OP D 直接寻址: 地址为D

OP I D 间接寻址: 地址为(D)

OP X D 基址寻址: 地址为A+D

OP D 寄存器寻址:地址为((D))

OP X D 变址寻址: 地址为A+D

OP 隐含寻址: 地址为AC

7、某16位机采用向下生长的软堆栈,SP指向当前的栈顶2000H,当连续压下10个字节的信息时,SP的内容应为什么?上述同样条件下,若采用向上生长的软堆栈,则SP内容应为什么?

向下生长:SP—> 200AH 向上生长:SP—> 1FF5H

8、某机字长32位,等长指令单字长,可采用10种不同的寻址方式,等长操作码占8位,CPU内部设有16个通用寄存器(R15~R0),可用作基址和变址寄存器。加法指令采用双地址指令格式,一个操作数采用隐含寻址方式,固定暂存在累加寄存器(AC)中,另一个操作数在存储器中。

(1) 若另一操作数采用直接寻址方式,设计出指令的具体格式,并画出其操作过程图。 (2) 若另一操作数采用寄存器间接寻址方式,设计出指令的具体格式,并画出其操作过程图。

(3) 若另一操作数采用存储器间接寻址方式,设计出指令的具体格式,并画出其操作过程图。

(4) 若另一操作数采用变址寻址方式,设计出指令的具体格式,并画出其操作过程图。 (5) 若另一操作数采用基址加变址寻址方式,设计出指令的具体格式,并画出其操作过程图。

9、上题中若另一操作数在指令中,即采用立即寻址方式,设计出指令的具体格式,并画出操作过程图。

第6章 习题与思考题答案

1. 控制器主要由哪些部件组成?简述各部件的主要功能。

15

程序计数器:用来存放待执行指令在存储器中的地址 指令寄存器:用来存放从存储器中取出的待执行指令

指令译码器:暂存在指令寄存器中的指令,其操作码部分经过译码后才能识别出当

前要执行的指令是一条什么指令。指令译码器进行译码功能的实现。

时序部件:用来产生计算机工作过程中所需要的各种时序信号

微操作控制部件:任何指令的执行过程都是一个微操作序列的产生过程,微操作控

制部件用来产生与各条指令相对应的微操作控制信号。

中断系统:用来处理中断,即计算机操作过程中一些预想不到的时间,例如某部件

故障等。

操作控制台:它是任何计算机系统中实现人机联系的桥梁,从启、停机器到操作过程中的人工干预或对机器进行测试等都必须通过操作控制台来实现。

详见P169~171

2. 简述CPU组成及其主要功能。

控制器:1.从内存中取出一条指令,并指出下条指令在内存中的位置

2.对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作

3.指挥并控制CPU、内存和输入/输出设备之间的数据流动方向。 运算器:1.执行所有的算术运算

2.执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。 Cache: 是主存储器的缓冲存储器,由高速SRAM组成,是为了解决CPU和主存

之间速度不匹配而采用的一项重要技术。

3.解释下列名词:

(1) 指令周期:取出并执行一条指令的时间

(2) 机器周期(又称CPU周期):通常用内存中读取一个指令字的最短时间来规定CPU周

(3) 时钟周期(又称节拍):又称节拍脉冲或T周期,它是处理操作的最基本单位。决定

是机器硬件本身。

(4) 微命令:控制部件通过控制线向执行部件发出各种控制命令,这些控制命令就叫做

微命令。

(5) 微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合构成一

条微指令。

(6) 微程序:一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令

序列通常叫做微程序。

(7) 微程序设计:为了提高CPU的程序执行能力,需要合适高效的微指令序列,即微程

序,因此,如何确定微指令的结构乃是微程序设计的关键。需要对微程序编码、位地址的形成方法(即顺序控制)以及微指令格式进行设计。

4.控制器中产生微操作控制信号的方式有哪几种?简述各自的主要特点。

组合逻辑控制方式:由于对微操作的控制全部采用硬件控制,因此速度很快,但对

硬件成本要求很高,设计复杂。一旦控制部件构成后,除非重

16

新设计和物理上的重新布线,否则想要增加新的控制功能是不可能的。

微程序控制方式: 具有规整性、灵活性、可维护性等一系列有点,使用软件方法

来设计硬件的一门技术。但与组合逻辑控制方式相比,微程序控制方式的速度会慢些,因此对于超高度的计算机,仍不适宜采用微程序控制方式。

PLA(可编程逻辑阵列)控制方式:

集中了组合逻辑控制器和微程序控制器两者的优点,与组合

逻辑相比,它的设计工作量小,而且修改、维护方便;与微程序控制器比较,它速度快。

5.水平型微指令和垂直型微指令的主要区别是什么?

1水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差; 2水平型微指令一条操作时间短,垂直型微指令执行时间长;

3由平行型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型

微指令则相反,微指令字比较短而微程序长。

4水平型微指令与机器指令差别很大,一般需要对及其结构、数据通路、时序系统

以及微命令很精通才能设计。

6.某机采用微程序控制方式,已知全机有50个微命令,控制存储器共128字,条件测试字段占3位。解答下述问题:

(1)若采用直接控制的水平型微指令,请设计微指令的具体格式。 (2)若采用编码控制的水平型微指令,已知50个微命令构成4个相斥类,分别包含4个、18个、22个和6个微命令,其他条件不变,请设计微指令的具体格式。

7.某机微程序控制器中,控制存储器容量为256×30(位),可判定的外部条件有4个,采用直接控制的水平型微指令判定方式。请设计该微程序控制器的结构框图,并作简要说明。

8.第6题中,若改成增量方式,请设计该微程序控制器的结构框图,并作简要说明。 9.已知\十进制加法\指令的微指令流程图如6.49图所示,微指令格式同图6.21,请设计\十进制加法\指令的微程序。

图6.49微指令格式图

17

10.什么是中断向量?为什么要设置中断向量表?

中断向量即中断源的识别标志,可用来存放中断服务程序的入口地址或跳转到中断服务程序的入口地址。

当CPU响应了某及中断请求后,为了解决如何正确的找到响应的中断服务程序入口这一问题,需要在主存储器中开辟一个区域,将各个中断服务程序的入口地址按顺序存放到图6.36(P191)的“表”中,这个表即中断向量表。可知,中断向量表的设置是为了存放中断程序的入口地址,使得CPU可以顺利的处理中断。

11.中断系统的主要功能有哪些?

1.及时发现和处理机器中的软硬件故障

2.计算机系统中主机与输入输出设备之间可以采用中断方式相互交换信息,以完成输入输出功能。

3.应用在实时控制系统中的计算机,可由中断系统来接收从外部实时输入的信息,并进行必要处理

4.多用户计算机系统中,可通过中断系统实现多道程序之间的调度以实现多道程序的并行执行。

5.计算机系统中的虚拟存储器可用中断方式向CPU报告存储空间的使用情况。

6.计算机软件的调试与维护过程中,可利用中断系统提供人工干预的途径,以实现人机会话功能。

(见P186)

12.某线性流水线共包含8个功能段,每个功能段的执行时间为Δt0。请画出该流水线的时间图,在连续流水情况下,多少时间可输出一个结果?

13.某系统中浮点加法运算线性流水线如图6.50所示。

图6.50浮点加法运算线性流水线图

已知每个功能段执行时间均为50ns,现要求完成如下运算: X=A+B+C+D+E+F+G+H

(1)请用较好算法,使流水线尽可能连续流水,画出相应的时空图。 (2)该流水线运算多长时间可输出X?

(3)若不采用流水线,则机器需要运算多少时间才能输出X?

第7章 习题与思考题答案

1、 在一个16位的总线中,若时钟频率为100MHz,总线数据周期为5个时钟周期传输

一个字。试计算总线的数据传输率。 时钟周期:1/100MHz

总线的传输速率:2Bx100M/5=40MB/s

18

2.、总线分成哪几种?各用在什么场合? 地址线:用来传送主存与设备的地址 数据线:用来传送数据

控制线:用来指明数据传送的方向,中断控制和定时控制等。

3、总线控制方式有哪几种?各有什么主要特点?

集中式仲裁:所有请求总线使用权的设备全部由中央仲裁器统一控制使用权。

链式查询方式:总线授权信号串行的从一个I/O接口传到下一个,直到

遇到总线请求。

计数器定时查询方式:通过计数装置,与链式查询方式相比,可以方便

改变优先次序。

独立请求方式:每个共享总线的设备都有一堆总线请求线和总线授权

线,总线仲裁器中的排队电路以一定的优先次序决定响应顺序。既可以灵活的控制休闲次序,也具有响应时间快的优点。

分布式仲裁:不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁

器。

4、同步通信和异步通信有什么区别?各适于用在什么场合?

同步通信是指通信双方由定宽、定距的时表控制总线上数据的传送。在通过总线传送数据时用一个公共的时钟信号进行同步控制。适用于总线较短,通信双方速率相等或比较接近的场合,这种情况下一般都具有较高的数据传送速率。

异步通信是指通信双方按照各自的时钟频率工作,在进行数据通信之前,双方必须通过联络信号取得联系后方可进行正常通信。其优点是简单、可靠,适用于面向字符的、低速的异步通信场合。

5、总线接口的主要功能有哪些?

总线接口又可称为输入输出接口,这是因为主机通过总线与各种类型的输入输出设备连接,并且相互交换信息。

主要功能有:数据缓冲功能;数据转换功能;数装配与拆卸功能;接口中如果设置有地址寄存器和字节计数器,应能完成其修改功能;启停控制功能;命令、状态信息的传送功能;与CPU之间取得联系。 详见P214

6、某总线在一个总线周期中并行传送4个字节的数据,若一个总线周期等于一个时钟周 期,总线频率为33MHz,问总线带宽是多少?

设总线带宽用Dr表示,总线时钟周期T=1/f,一个总线周期传送数据量用D表示, 可得:Dr = D/T = D x f = 4B x 33 x 106/s = 132M/s. 即总线带宽为132M/s。 7、若一个总线周期中并行传送64位数据,总线时钟提高为66MHz,问总线带宽是多少?分析影响带宽的有哪些因素?

64位=8B , Dr= D x f =8B x 66 x 106/s = 528MB/s.

19

分析可知,影响带宽的因素有总线时钟频率和字长有关。实际带宽会受到总线布线长度、总线驱动/接收器性能、连接在总线上的模块数等因素的影响。

8、在异步串行传输系统中,若每秒可传输20个数据帧,一个数据帧包含1个起始位、7个数据位、一个奇校验位和1个结束位。试计算其波特率和比特率。

每个数据帧包含位数为:1+7+1+1 = 10

每秒可传输20个数据帧,故比特率为 10 x 20 = 200 bit/s 波特率为20Bout/s.

第8章 习题与思考题答案

1、 编码键盘与非编码键盘的主要区别是什么?各有什么优缺点?

编码键盘与非编码键盘的主要区别是:编码键盘本身带有实现接口主要功能所需的硬件电路,不仅能自动栓测被按下的键并完成去抖动防串键等功能,而且能提供与被按键功能对应的键码(如ASCⅡ码)送往CPU,而非编码键盘只简单的提供按键开关的行列矩阵,有关键的识别,键码的输入与确定,以及去抖动等功能场由软件完成。

2、 某字符显示器一屏可显示40列×25行,每字符包含16个点阵字节,可显示的字符

总数共256个,该显示器中字符发生器的容量应为多少?视频存储器的容量应为多少?

字符发生器的容量:256x16=4096字节 视频存储器的容量:40x25=1000字节

3、 打印机如何分类?各有什么特点?

按印字原理分为击打式和非击打式。击打式设备成本低,但噪音大且速度慢。非击打式速度快、噪音低、印字质量高但价格较贵,有时需要专用纸张。

另外比较普及的有点阵式打印机和激光印字机。点阵式打印机结构简单、体积小、重量轻、价格低、字符种类不受限制,微小型机中都配置这种打印机。激光打印机基本原理和静电复印机相似,输出速度快、印字质量高,可以使用普通纸张,在办公自动化及轻印刷系统中得到了广泛的应用。

4、 汉字的\区位码\、\国标码\、\机内码\和\字形码\是如何构成的?各有什么区别?

西文处理系统的交换码和机内码均为ASCII,用一个字节表示,一般只用低七位。1981年我国在国标GB2312-80制定了汉字交换码也称为国标交换码(简称国标码)。在国标码中,一个汉字用两个字节表示,每个字节也只用其中 的七位,每个字节的取值范围和94个可打印的ASCII字符的取值范围相同(21H-7EH),涵盖了一、二级汉字和符号。为了避免ASCII码和国标码 同时使用时产生二义性问题,大部分汉字系统一般都采用将国标码每个字节高位置“1”作为汉字机内码。这样既解决了汉字机内码与西文机内码之间的二义性,又使汉字机内码与国标码具有极简单的对应关系。区位码、国标码和机内码之间的关系可以概括为(区位码的十六进制表示) 2020H=国标码,国标码 8080H=机内码,以汉字“大”为例,“大”字的区内码为2083,将其转换为十六进制表示为1453H,加上2020H得到国标码3473H,再加上 8080H得到机内码为B4F3H。而汉字字形控制码是为了打印各种风格的字体和字形所制定的代码。

20

5、 磁表面存储器的记录方式有哪几种?简要说明它们的特点。

不归零制(NRZ0):磁头线圈中始终有电流,不是正向电流就是反向电流,因此不归零制记录方式的抗干扰性能较好。

见“1”就翻不归零制(NRZ1):与不归零制相同之处是磁头线圈中始终有电流。不同处在于记录“0”时电流方向不变,只有遇到“1”时才改变方向。

调相制(PM):在一个周期的中间位置,电流由负到正为1,由正到负为0,即利用电流相位的变化进行写1和0,抗干扰能力强。另外读出读出信号经分离电路课提取自同步定时脉冲,所以具有自同步能力。

调频制(FM):无论记录1或0,或者连续写1或0,在相邻两个存储元交界处电流都要改变方向;记录1时电流一定要在位周期中间改变方向,写1电流频率是写0的两倍,故称倍频法。记录密度高,具有自同步能力。

改进调频制(MFM):与调频制的区别在于只有连续记录两个或两个以上0时才在位周期的起始位置翻转一次,因此进一步提高了记录密度。

6、 描述磁盘存储器性能的主要指标有哪些。

存储密度、存储容量、平均存取时间、数据传输率。

7、某磁盘的转速为3 000转/分,共有4个盘片,每个磁面上共有200个磁道,每个磁道有20个扇区,每个扇区包含512字节。 (1)该磁盘机的总容量是多少?

4个盘面,每个盘有2个磁面,而一般情况下最上面和最下面2个磁面不用,故有6哥磁面。

总容量为:6x200x20x512=1228800B (2)该磁盘机的数据传送速率是多少? 每条磁道容量为:20x512=10240B 磁盘转速为:3000转/60秒=50转/秒

故磁盘机的数据传送速率为:10240x50=512000B/s (3)该磁盘机的平均等效时间是多少?

8、光盘存储器有哪几种?各有什么主要特点?

只读型光盘:厂商以高成本制作出母盘后大批重压制出来的光盘,模压式记录使光盘发生永久性物理变化,记录信息只能读出而不能被修改。典型产品有LD、VCD、DVD、CD-ROM等。

一次型光盘:用户可以在这种光盘上记录信息,但记录信息会使介质的物理特性发生永久性变化,因此只能写一次。

重写型光盘:用户可以对这类光盘进行随机写入、擦除或重写信息。典型产品有MO、PC等。

9、 鼠标按工作原理分类如何?其原理如何?

鼠标按其工作原理的不同可以分为机械鼠标和光电鼠标。机械鼠标主要由滚球、辊柱和光栅信号传感器组成。当你拖动鼠标时,带动滚球转动,滚球又带动辊柱转动,装在辊柱端部的光栅信号传感器产生的光电脉冲信号反映出鼠标器在垂直

21

和水平方向的位移变化,再通过电脑程序的处理和转换来控制屏幕上光标箭头的移动。光电鼠标器是通过检测鼠标器的位移,将位移信号转换为电脉冲信号,再通过程序的处理和转换来控制屏幕上的鼠标箭头的移动。光电鼠标用光电传感器代替了滚球。这类传感器需要特制的、带有条纹或点状图案的垫板配合使用。

10、简单描述液晶显示器显示原理。

液晶是一种介于固态和液态之间的物质。液晶本身并不能构发光,它主要是通过因为电压的更改产生电场而使液晶分子排列产生变化来显示图像。当众多液晶分子聚集在一起,就像是一队整齐的“列兵”,这队“列兵”在受到外界电场影响时,便会改变它们的排列方向,在一定条件下可以让光线通过,造成光线的扭曲和折射。于是光线的扭曲和折射便产生了画面。

11、简述RAID磁盘阵列有哪两个主要功用。

RAID(独立冗余磁盘阵列)提供比单个硬盘更高的存储性能和提供数据备份技术。即提高磁盘系统的存取速度和提高存储数据的安全性。

12、解释RIAD如何提高磁盘系统的存取速度。

RIAD通过并行总线让两块硬盘同时运作,来达到乃至于几倍的硬盘性能。

13、简述RAID0和RAID5机理。

RAID 0:RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。 RAID 5:RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

第9章 习题与思考题答案

1、 输入输出设备的两种编址方式的主要区别是什么?各有什么优缺点?

与存储器统一编址:I/O端口和内存单元统一编址,即把I/O端口当作内存单元对待,从整个内存空间中划出一个子空间给I/O端口,每一个I/O端口分配一个地址码,用访问存储器的指令对I/O端口进行操作。优点是:I/O端口的数目几乎不受限制;访问内存指令均适用于I/O端口,对I/O端口的数据处理能力强;CPU无需产生区别访问内存操作和I/O操作的控制信号,从而可减少引脚。缺点是:程序中I/O操作不清晰,难以区分程序中的I/O操作和存储器操作;I/O端口占用了一部分内存空间;I/O端口地址译码电路较复杂(因为内存的地址位数较多)。

22

I/O独立编址:I/O端口地址空间和存储器地址空间分开设置,互不影响。采用这种编址方式,对I/O端口的操作使用输入/输出指令(I/O指令)。优点是:不占用内存空间;使用I/O指令,程序清晰,很容易看出是I/O操作还是存储器操作;译码电路比较简单(因为I/O端口的地址空间一般较小,所用地址线也就较少)。缺点是:只能用专门的I/O指令,访问端口的方法不如访问存储器的方法多。

2.、输入输出控制方式有哪几种?各有什么主要特点?

程序查询方式:数据在CPU和外设间的传送完全靠计算机程序控制,即使CPU定期由主程序转向查询设备状态的子程序进行扫描轮询的办法,CPU利用率也很低。优点是CPU操作和外设操作能够同步。

程序中断方式:当一个中断发生时,CPU暂停现行程序,转而向中断处理程序,从而可以输入或输出一个数据。中断完毕后CPU又返回原来的任务,并从暂停处开始执行。它节省了CPU的时间,并且一旦提出请求会立即进行。但硬件结构相对复杂,服务开销时间较大。

直接内存访问(DMA)方式:这种方式既考虑到中断响应,同时又节省中断开销。DMA控制器从CPU完全接管对总线的控制,数据交换不经CPU直接在内存和外设之间进行。与中断方式相比需要更多硬件,适合内存和高速外设之间大批数据交换的场合。

通道方式:CPU将部分权利下放给通道,即输入输出处理器,它可以实现对外围设备的统一管理和外设与内存之间的数据传送,大大提高CPU工作效率,但是花费更多硬件资源。

外围处理机方式:是通道方式的进一步发展。外围处理机基本上独立于主机工作,其结构更接近一般处理机,多用于大中型计算机中。

3、采用中断方式完成输入输出操作有什么局限性?

与程序查询方式相比,中断方式的硬件结构相对复杂,服务开销时间较大。

而和DMA乃至通道方式相比,中断方式并不能做到CPU和外设的并行。即输入输出时,CPU是不能继续执行主程序的,造成了CPU资源的浪费。并且在存储中断现场状态时,对硬件资源也造成一定开销。

4、DMA控制器的主要组成部分,简述其主要功能。

内存地址计数器:用于存放内存中要交换的数据的地址。 字计数器:用于记录传送数据块的长度(多少字数)。 数据缓冲寄存器:用于暂存每次传送的数据(一个字)

“DMA请求”标志:每当设备准备好一个数据字后给出一个控制信号,使“DMA请求”标志置1,该标志位置位后向“控制/状态”逻辑发出DMA请求。

“控制/状态”逻辑:用于修改内存地址计数器和字计数器,指定传送类型(输入还是输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。 中断机构:当字计数器溢出时(全0),意味着一组数据交换完毕,由溢出信号出发中断机构,向CPU提出中断报告。

5、 DMA有哪几种工作方式?各有什么主要特点?

停止CPU访问内存:当外设要求传送数据时,由DMA控制器发一个停止信号给

23

CPU,要求其放弃对地址总线、数据总线和有关控制总线的使用权。

周期挪用:当I/O设备没有DMA请求时,CPU按程序要求访问内存,一旦I/O设备有

DMA请求,则由I/O设备挪用一个或几个内存周期。

DMA与CPU交替访内:这种方式不需要总线使用权的申请、建立和归还过程,总线使用权是分时控制的,这种DMA传送对CPU来说没有任何感觉或影响。高效但硬件逻辑更加复杂。

6、 通道有哪几种?各有什么特点?

选择通道:又称高速通道,在物理上可以连接多个设备,但这些设备不能同时工作,在某段时间内通道只能选择一个设备工作。主要用于高速外围设备。

数组多路通道:当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。在实际系统中应用较多。

字节多路通道:主要用于连接大量低速设备。通道在传送两个字节之间有很多空闲时间,字节多路通道就是利用这个空闲时间为其他设备服务。 7、 简述通道操作的全过程。

(1) 在外围设备有输入输出请求时,通道接受CPU的I/O指令,按指令要求与指定

的外围设备进行通信。

(2) 从内存中选取属于该通道程序的通道指令,经译码之后向设备控制器和设备发

送各种命令。

(3) 组织外围设备和内存之间进行数据传送,并根据需要提供数据缓存的空间,以

及提供数据存入内存的地址和传送的数据量。 (4) 从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求

将这些状态信息送到内存的指定单元,供CPU使用。

(5) 将外围设备的中断请求和通道本身的中断请求,按次序及时报告CPU。通道操

作结束。

24

本文来源:https://www.bwwdw.com/article/7agr.html

Top