第五章
1. IR、AR、DR、AC
2. STA R1,(R2)
PC0, G, ARi
R/ =R
DR0, G, ARi
R20, G, ARi
R10, G, DRi
R/ =W
PC->AR
M->DR
DR->IR
R2->AR
R1->DR
DR->M

3. LDA (R3), R0
R30, G, ARi
R/ =R
DR0, G, R0i
PC->AR
M->DR
DR->IR
R3->AR
M->DR
DR->R0
4.
5.节拍脉冲T1,T2,T3的宽度实际上等于时钟脉冲的周期或是它的倍数。此处T1 = T2 = 200ns,
T3 = 400ns,所以主脉冲源的频率应为。
为了消除节拍脉冲上的毛刺,环形脉冲发生器采用移位寄存器形式。图中画出了题目要求的逻辑电路图与时序信号关系图。根据时序信号关系,T1,T2,T3三个节拍脉冲的逻辑表达式如下:
T1用与门实现,T2和T3则用C2的端和C1的Q端加非门实现,其目的在于保持信号输出时延时间的一致性并与环形脉冲发生器隔离。
6.
7. M = G
S3 = H+D+F
S2 = A+B+H+D+E+F+G
S1 = A+B+F+G
C = H+D+Ey+Fy+Gφ
8. 经分析,(d, i, j)和(e, f, h)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a, b, c, g四个微命令信号可进行直接控制,其整个控制字段组成如下:

9. P1 = 1,按IR6、IR5转移
P2 = 1,按进位C转移
10. (1)将C,D两个暂存器直接接到ALU的A,B两个输入端上。与此同时,除C,D外,其余7个寄存器都双向接到单总线上。
(2)
11. (1)假设判别测试字段中每一位作为一个判别标志,那么由于有4个转移条件,故该字段为4位。下地址字段为9位,因为控存容量为512单元。微命令字段则是(48-4-9)=35位。
(2)对应上述微指令格式的微程序控制器逻辑框图如图所示。其中微地址寄存器对应下地址字,P字段即为判别测试字段,控制字段即为微命令字段,后两部分组成微指令寄存器。地址转移逻辑的输入是指令寄存器的OP码、各种状态条件以及判别测试字段所给的判别标志(某一位为1),其输出修改微地址寄存器的适当位数,从而实现微程序的分支转移。就是说,此处微指令的后继地址采用断定方式。
12. (1)流水线的操作周期应按各步操作的最大时间来考虑,即流水线时钟周期性
(2)遇到数据相关时,就停顿第2条指令的执行,直到前面指令的结果已经产生,因此至少需要延迟2个时钟周期。
(3)如果在硬件设计上加以改进,如采用专用通路技术,就可使流水线不发生停顿。

13. (1)

(2)
(3)
14.
如上两图所示,执行相同的指令,在8个单位时间内,流水计算机完成5条指令,而非流水计算机只完成2条,显然,流水计算机比非流水计算机有更高的吞吐量。
15. 证:设n条指令,K级流水,每次流水时间τ
则用流水实现 Tp = Kτ+(n-1) τ
非流水实现 Ts = Kτn
n->∞时,
n=1时, , 则可见n>1时Ts>Tp,故流水线有更高吞吐量
16.(1)写后读 RAW
(2)读后写 WAR
(3)写后写 WAW
17.(1)

(2)

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

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

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

2. (1)简化了硬件的设计。从硬件的角度看,面向总线是由总线接口代替了专门的I/O接口,由总线规范给出了传输线和信号的规定,并对存储器、I/O设备和CPU如何挂在总线上都作了具体的规定,所以,面向总线的微型计算机设计只要按照这些规定制作CPU插件、存储器插件以及I/O插件等,将它们连入总线即可工作,而不必考虑总线的详细操作。
(2)简化了系统结构。整个系统结构清晰,连线少,底板连线可以印刷化。
(3)系统扩充性好。一是规模扩充,二是功能扩充。规模扩充仅仅需要多插一些同类型的插件;功能扩充仅仅需要按总线标准设计一些新插件。插件插入机器的位置往往没有严格的限制。这就使系统扩充既简单又快速可靠,而且也便于查错。
(4)系统更新性能好。因为CPU、存储器、I/O接口等都是按总线规约挂到总线上的,因而只要总线设计恰当,可以随时随着处理器芯片以及其他有关芯片的进展设计新的插件,新的插件插到底板上对系统进行更新,而这种更新只需更新需要更新的插件,其他插件和底板连线一般不需更改。
3. “A”的ASCII码为41H = 01000001B,1的个数为偶数,故校验位为0;“8”的ASCII码为38H = 00111000B,1的个数为奇数,故校验位为1。

4.
5.

6.

7.
8.C
9.B、A、C
10.A
11.D
12.A
13.
14.D、C、A、B
15.B、A、E、D、C
16.C、A、B、D、E
17. PCI总线上有HOST桥、PCI/LAGACY总线桥、PCI/PCI桥。桥在PCI总线体系结构中起着重要作用,它连接两条总线,使彼此间相互通信。桥是一个总线转换部件,可以把一条总线的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址表。桥可以实现总线间的猝发式传送,可使所有的存取都按CPU的需要出现在总线上。由上可见,以桥连接实现的PCI总线结构具有很好的扩充性和兼容性,允许多条总线并行工作。
18. 分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上,分布式仲裁是以优先级仲裁策略为基础。

19.总线的一次信息传送过程,大致可分为:请求总线,总线仲裁,寻址,信息传送,状态返回。

20. 70*8 = 560MHz/s
第七章
1.D
2.C、D、C、A
3.(1)32*12*2 = 768字节
(2)3000*12*16 = 576000位 = 72000字节
(3)
(4)50*(11+1)*(32+6)*(16+4)*(12+4) = 7.3MHz
4.(1)80*25*1 = 2000B
80*25*60 = 1.2*105字符/s
带宽>1.2*105字符/s
(2)60*(7+1)*(80+34)*(7+1)*(25+7) = 14MHz
点计数器: 8
字计数器: 114
行计数器: 8
排计数器: 32
(3)
5.
6.2*40*9*512 = 360KB
7.设读写一块信息所需总时间为tB,平均找道时间为ts,平均等待时间为tl,读写一块信息的传输时间为tm,则
tB = ts+tl+tm
假设磁盘以每秒r转速率旋转,每条磁道容量为N个字,则数据传输率 = rN个字/秒。
又假设每块的字数为n,因而一旦读写头定位在该块始端,就能在秒的时间中传输完毕。
tl是磁盘旋转半周的时间,tl = (1/2r)秒。由此可得:

8.(1)275*12288*4 = 12.89MB
(2)
(3)
(4)
(5)
此地址格式表示有4台磁盘,每台有4个记录面,每个记录面最多可容纳512个磁道,每道有16个扇区。
9.
10.360转/分 = 60转/秒 = 60道/秒
60道/秒*15扇区/道*512B/扇区 = 450KB/秒
写入4096B需时:
由于找道时间为10~40ms,故平均找道时间为25ms,最大找道时间为40ms
所以平均需时:25ms+8.9ms = 33.9ms
最长需时:40ms+8.9ms = 48.9ms
11.(1)
(2)传送一个数据块所需时间为

一个数据块占用长度为

每块间隙L = 0.014m,数据块总数为

故磁带存储器有效存储容量为
19867块*1K字节 = 19867K字节
12.

13.(1)磁盘内径为:9英寸-5英寸 = 4英寸
内层磁道周长为
每道信息量 = 1000位/英寸*31.4英寸 = 3.14*104位
磁盘有100道/英寸*5英寸 = 500道
盘片组总容量:20*500*3.14*104 = 3.14*108位 = 314兆位
(2)每转即每道含有信息量3.14*104位,即3.925*103B

14.(1)[(30*10-3+10*10-3+3000/500*10-3)*2+4*10-3]*1000 = 96s
(2) [(30*10-3+5*10-3+3000/1000*10-3)*2+4*10-3]*1000 =80s
15.(1)存储容量从大到小依次为:活动头磁盘存储器,光盘存储器,主存,软磁盘,高速缓存,寄存器组
存储周期从大到小依次为:软磁盘,光盘存储器,活动头磁盘存储器,主存,高速缓存,寄存器组
(2)
(3)
16.刷新存储器是用来存储一图像信息以不断提供刷新图像的信号。其存储容量由图像分辨率和灰度级决定。
1024*1024*24bit = 3MB
17.(1)1024*768*3 = 2.25MB
(2)1024*768*3B*72/s = 162MB/s
18.
2*220*2775 = 1.16MB
第八章
1.A、B、C
2.B
3.A
4.C
5.组织外围设备和内存进行数据传输;控制外围设备;选择;数组多路;字节多路
6.能响应,因为设备A的优先级比设备B高。若要设备B总能立即得到服务,可将设备B从第二级取出来,单独放在第三级上,使第三级的优先级最高,即令IM3 = 0。
7.依次处理设备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.(1)

(2)

9.要将通用寄存器内容保存到主存中去。只需保存中断处理程序用到的那2个寄存器内容。
10.
11.(1)IM2IM1IM0 = 011
(2) IM2IM1IM0 = 001
(3) 若要设备B总能立即得到服务,可将设备B从第二级取出来,单独放在第三级上,使第三级的优先级最高,即令IM3 = 0。
12.D
13.中断、蔽中断、中断、异常、异常、执行软件中断指令
14.B、A、C、D、E
15.B、A、
16.(1)通道方式:可以实现对外设的统一管理和外设与内存之间的数据传送,大大提高了CPU
的工作效率。
(2)DMA方式:数据传送速度很高,传送速率仅受到内存访问时间的限制。需要更多硬件,,适用于内存和高速外设之间大批数据交换的场合。
(3)中断方式:一般适用于随机出现的服务,且一旦提出要求应立即进行,节省了CPU的时间开销,但硬件结构稍复杂一些。
17.

18.类似 P139 题25

第一章
1. 模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0和1表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。
2. 数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
3. 科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。
4. 主要设计思想是:存储程序通用电子计算机方案,主要组成部分有:运算器、逻辑控制装置、存储器、输入和输出设备
5. 存储器所有存储单元的总数称为存储器的存储容量。每个存储单元都有编号,称为单元地址。如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。
6. 每一个基本操作称为一条指令,而解算某一问题的一串指令序列,称为程序。
7. 取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是指令流。
8. 半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。
9. 计算机的系统软件包括系统程序和应用程序。系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能用用途;应用程序是用户利用计算机来解决某些问题而编制的程序。
10. 在早期的计算机中,人们是直接用机器语言来编写程序的,这种程序称为手编程序或目的程序;后来,为了编写程序方便和提高使用效率,人们使用汇编语言来编写程序,称为汇编程序;为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序,源程序通过编译系统产生编译程序,也可通过解释系统进行解释执行;随着计算机技术的日益发展,人们又创造出操作系统;随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格,于是产生了数据库管理系统。
11. 从第一至五级分别为微程序设计级、一般机器级、操作系统级、汇编语言级、高级语言级。采用这种用一系列的级来组成计算机的概念和技术,对了解计算机如何组成提供了一种好的结构和体制。而且用这种分级的观点来设计计算机,对保证产生一个良好的系统结构也是很有帮助的。
12. 因为任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。实现这种转化的媒介是软件与硬件的逻辑等价性。
13. ( 略 )

第二章
1.(1)
(2)





(3)-127
-127 = -7F = -1111111
[-127]原 = 11111111
[-127]补 = 10000001
[-127]反 = 10000000
[-127]移 = 00000001
(4)[-1]原 = 1000 0000
[-1]补 = 1000 0000
[-1]反 = 1111 1111
[-1]移 = 0000 0000
(5)-1 = -00000001
[-1]原 = 1000 0001
[-1]补 = 1111 1111
[-1]反 = 1111 1110
[-1]移 = 0111 1111



2.[x]补 = a0. a1a2…a6
解法一、
(1) 若a0 = 0, 则x > 0, 也满足x > -0.5
此时a1→a6可任意
(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) 若x >= 0, 则a0 = 0, a1→a6任意即可
[x]补 = x = a0. a1a2…a6
(2) 若x < 0, 则x > -0.5
只需-x < 0.5, -x > 0
[x]补 = -x, [0.5]补 = 01000000
即[-x]补 < 01000000
即a0a1 = 11, a2→a6不全为0或至少有一个为1(但不是“其余取0”)

3.字长32位浮点数,阶码10位,用移码表示,尾数22位,用补码表示,基为2
Ms
Es
E1→E9
M20 M0
 


(1) 最大的数的二进制表示
E = 111111111
Ms = 0, M = 11…1(全1)
表示为: 11…1 011…1
10个 21个
即:
(2) 最小的二进制数
E = 111111111
Ms = 1, M = 00…0(全0)(注意:用10….0来表示尾数-1)
表示为: 11…1 100…0
10个 21个
即:





(3) 规格化范围
正最大 E = 11…1, M = 11…1, Ms = 0
10个 21个
即:
正最小 E = 00…0, M = 100…0, Ms = 0
10个 20个
即:
负最大 E = 00…0, M = 011…1, Ms = 1
10个 20个
(最接近0的负数)即:
负最小 E = 11…1, M = 00…0, Ms =1
10个 21个
即:
规格化所表示的范围用集合表示为:
[ , ] [ , ]
(4) 最接近于0的正规格化数、负规格化数(由上题可得出)
正规格化数 E = 00…0, M = 100…0, Ms = 0
10个 20个
负规格化数 E = 00…0, M = 011…1, Ms = 1
10个 20个

4.假设浮点数格式如下:
Ms
Es
E1→E3
M8 M0
 

 


(1)
阶补码: 1 11
尾数补码: 0 1101 1000
机器数: 1110 1101 1000

(2)
阶补码: 1 11
尾数补码: 1 0010 1000
机器数: 1110 0010 1000
5.(1)x = 0.11011, y = 0.00011
0 0 1 1 0 1 1
+ 0 0 0 0 0 1 1
0 0 1 1 1 1 0
 


 


x+y = 0.11110
无溢出
(2) x = 0.11011, y = -0.10101
[x]补 = 0 0 1 1 0 1 1
[y]补 = +1 1 0 1 0 1 1
0 0 0 0 1 1 0

 



x+y = 0.00110
无溢出
(3)x = -0.10110
y = -0.00001
[x]补 = 1 1 0 1 0 1 0
[y]补 = +1 1 1 1 1 1 1
1 1 0 1 0 0 1
 



x+y = -0.10111
无溢出
6.(1)x = 0.11011
y = -0.11111
[x]补 = 0 0. 1 1 0 1 1
[y]补 = +0 0. 1 1 1 1 1
0 1. 1 1 0 1 0
 



溢出
(2)x = 0.10111
y = 0.11011
[x]补 = 0 0. 1 0 1 1 1
[y]补 = +1 1. 0 0 1 0 1
1 1. 1 1 1 0 0
 



x-y = -0.00100
无溢出
(3)x = 0.11011
y = -0.10011
[x]补 = 0 0. 1 1 0 1 1
[y]补 = +0 0. 1 0 0 1 1
0 1. 0 1 1 1 0
 



溢出
7.(1)原码阵列
x = 0.11011, y = -0.11111
符号位: x0⊕y0 = 0⊕1 = 1
[x]原 = 11011, [y]原 = 11111
1 1 0 1 1
* 1 1 1 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 0 0 0 1 0 1
 

 


[x*y]原 = 1, 11 0100 0101

直接补码阵列
[x]补 = (0)11011, [y]补 = (1)00001
(0) 1 1 0 1 1
(1) 0 0 0 0 1
(0) 1 1 0 1 1
(0) 0 0 0 0 0
(0) 0 0 0 0 0
(0) 0 0 0 0 0
(0) 0 0 0 0 0
0 (1) (1) (0) (1) (1)
0 (1) (1) (0) (1) (1) 1 1 0 1 1
1, 0 0 1 0 1, 1 1 0 1 1
 




 








[x*y]补 = 1,00101,11011(直接补码阵列不要求)

带求补器的补码阵列
[x]补 = 0 11011, [y]补 = 1 00001
乘积符号位单独运算0⊕1=1
尾数部分算前求补输出│X│=11011,│y│=11111
1 1 0 1 1
* 1 1 1 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 0 0 0 1 0 1
 






 


X×Y=-0.1101000101

(2) 原码阵列
x = -0.11111, y = -0.11011
符号位: x0⊕y0 = 1⊕1 = 0
[x]补 = 11111, [y]补 = 11011
1 1 1 1 1
1 1 0 1 1
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1
1 1 0 1 0 0 0 1 0 1
 






 


[x*y]补 = 0,11010,00101
直接补码阵列
[x]补 = (1)00001, [y]补 = (1)00101
(1) 0 0 0 0 1
(1) 0 0 1 0 1
(1) 0 0 0 0 1
(0) 0 0 0 0 0
(1) 0 0 0 0 1
(0)0 0 0 0 0
(0) 0 0 0 0 0
1 (0) (0) (0) (0) (1)
1 0 0 (1) (1) 0 0 0 1 0 1
0 1 1 0 1 0 0 0 1 0 1
 







 




[x*y]补 = 0,11010,00101(直接补码阵列不要求)

带求补器的补码阵列
[x]补 = 1 00001, [y]补 = 1 00101
乘积符号位单独运算1⊕1=0
尾数部分算前求补输出│X│=11111,│y│=11011

1 1 1 1 1
1 1 0 1 1
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1
1 1 0 1 0 0 0 1 0 1
 






 


X×Y=0.1101000101


8.(1) 符号位 Sf = 0⊕1 = 1
去掉符号位后:[y’]补 = 00.11111
[-y’]补 = 11.00001
[x’]补 = 00.11000
0 0 1 1 0 0 0
+[-y’]补 1 1 0 0 0 0 1
1 1 1 1 0 0 1 0
← 1 1 1 0 0 1 0
+[y’]补 0 0 1 1 1 1 1
0 0 1 0 0 0 1 0.1
← 0 1 0 0 0 1 0
 







+[-y’]补 1 1 0 0 0 0 1
0 0 0 0 0 1 1 0.11
← 0 0 0 0 1 1 0
+[-y’]补 1 1 0 0 0 0 1
1 1 0 0 1 1 1 0.110
← 1 0 0 1 1 1 0
+[y’]补 0 0 1 1 1 1 1
1 1 0 1 1 0 1 0.1100
← 1 0 1 1 0 1 0
+[y’]补 0 0 1 1 1 1 1
1 1 1 1 0 0 1 0.11000

 












(2) 符号位 Sf = 1⊕0 = 1
去掉符号位后:[y’]补 = 00.11001
[-y’]补 = 11.00111
[x’]补 = 00.01011
0 0 0 1 0 1 1
+[-y’]补 1 1 0 0 1 1 1
1 1 1 0 0 1 0 0
← 1 1 0 0 1 0 0
+[y’]补 0 0 1 1 0 0 1
1 1 1 1 1 0 1 0.0
← 1 1 1 1 0 1 0
+[y’]补 0 0 1 1 0 0 1
0 0 1 0 0 1 1 0.01
← 0 1 0 0 1 1 0
+[-y’]补 1 1 0 0 1 1 1
0 0 0 1 1 0 1 0.011
← 0 0 1 1 0 1 0
+[-y’]补 1 1 0 0 1 1 1
0 0 0 0 0 0 1 0.0111
← 0 0 0 0 0 1 0
+[-y’]补 1 1 0 0 1 1 1
1 1 0 1 0 0 1 0.01110
 



















9.(1) x = 2-011*0.100101, y = 2-010*(-0.011110)
[x]浮 = 11101,0.100101
[y]浮 = 11110,-0.011110
Ex-Ey = 11101+00010=11111
[x]浮 = 11110,0.010010(1)
x+y 0 0. 0 1 0 0 1 0 (1)
+ 1 1. 1 0 0 0 1 0
1 1. 1 1 0 1 0 0 (1)
 


 


规格化处理: 1.010010 阶码 11100
x+y= 1.010010*2-4 = 2-4*-0.101110
x-y 0 0. 0 1 0 0 1 0 (1)
+ 0 0. 0 1 1 1 1 0
0 0 1 1 0 0 0 0 (1)
 



规格化处理: 0.110000 阶码 11110
x-y=2-2*0.110001
(2) x = 2-101*(-0.010110), y = 2-100*0.010110
[x]浮= 11011,-0.010110
[y]浮= 11100,0.010110
Ex-Ey = 11011+00100 = 11111
[x]浮= 11100,1.110101(0)
x+y 1 1. 1 1 0 1 0 1
+ 0 0. 0 1 0 1 1 0
0 0. 0 0 1 0 1 1
 


 


规格化处理: 0.101100 阶码 11010
x+y= 0.101100*2-6
x-y 1 1.1 1 0 1 0 1
+ 1 1.1 0 1 0 1 0
1 1.0 1 1 1 1 1
 


 


规格化处理: 1.011111 阶码 11100
x-y=-0.100001*2-4
10.(1) Ex = 0011, Mx = 0.110100
Ey = 0100, My = 0.100100
Ez = Ex+Ey = 0111
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
 


 





规格化: 26*0.111011
(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 0.01101

 

 























商 = 0.110110*2-6, 余数=0.101100*2-6
11.
4位加法器如上图,
(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.(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.串行状态下:
C1 = G1+P1CO
C2 = G2+P2C1
C3 = G3+P3C2
C4 = G4+P4C3
并行状态下:
C1 = G1+P1C0
C2 = G2+P2C1 = G2+P2G1+P2P1C0
C3 = G3+P3C2 = G3+P3G2+P3P2G1+P3P2P1C0
C4 = G4+P4C3 = G4+P4P3C2+P4P3P2C1+P4P3P2P1C0
14.设余三码编码的两个运算数为Xi和Yi,第一次用二进制加法求和运算的和数为Si’,进位为Ci+1’,校正后所得的余三码和数为Si,进位为Ci+1,则有:
Xi = Xi3Xi2Xi1Xi0
Yi = Yi3Yi2Yi1Yi0
Si’ = Si3’Si2’Si1’Si0’

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

 



根据以上分析,可画出余三码编码的十进制加法器单元电路如图所示。
15.
第三章
1. (1)
(2)
(3)1位地址作芯片选择
2. (1)
(2)
每个模块要16个DRAM芯片
(3)64*16 = 1024块
由高位地址选模块
3. (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.6us,可取刷新信号周期15us。
刷新一遍所用时间=15us×128=1.92ms


2:4译码器
A14
A15
CS3
CS2
CS0
CS1
D0~D7
A13~A0
 













 


4. (1)
(2)

(3)如果选择一个行地址进行刷新,刷新地址为A0-A8,因此这一行上的2048个存储元同时进行刷新,即在8ms内进行512个周期。刷新方式可采用:在8ms中进行512次刷新操作的集中刷新方式,或按8ms/512 = 15.5us刷新一次的异步刷新方式。
5. 所设计的存储器单元数为1M,字长为32,故地址长度为20位(A19~A0),所用芯片存储单元数为256K,字长为16位,故占用的地址长度为18位(A17~A0)。由此可用位并联方式与地址串联方式相结合的方法组成组成整个存储器,共8片RAM芯片,并使用一片2:4译码器。其存储器结构如图所示。

6.(1)系统16位数据,所以数据寄存器16位
(2)系统地址128K=217,所以地址寄存器17位
(3) 共需要8片
(4) 组成框图如下
CPU
地址
寄存器
数据
寄存器
32K
*8
32K
*8
32K
*8
32K
*8
32K
*8
32K
*8
32K
*8
32K
*8
CS3
CS2
CS1
CS0
2:4
译码器
CS0
~
CS3
A16
A15
 















 


7.(1)组内地址用A12~A0
(2)小组译码器使用3:8译码器
(3)RAM1~RAM5各用两片8K*8的芯片位并联连接

ROM
0000H
RAM1
RAM2
RAM3
RAM4
RAM5
6000H
8000H
A000H
C000H
E000H
4000H
 




 



8.顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:
q = 64位*8 = 512位
顺序存储器和交叉存储器连续读出8个字所需的时间分别是:
t1 = mT = 8*100ns = 8*10-7s
顺序存储器和交叉存储器的带宽分别是:
9.cache的命中率
cache/主存系统效率e为
平均访问时间Ta为

10. h*tc+(1-h)*tm = ta

11.虚拟地址为30位,物理地址为22位。
页表长度:
12.虚拟存储器借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。在此例中,若用户不具有虚存,则无法正常运行程序,而具有了虚存,则很好地解决了这个问题。
13.设取指周期为T,总线传送周期为τ,指令执行时间为t0
(1)t = (T+5τ+6t0)*80 = 80T+400τ+480 t0
(2) t = (T+7τ+8t0)*60 = 60T+420τ+480 t0
故不相等。
14.
页面访问序列 0 1 2 4 2 3 0 2 1 3 2 命中率
a 0 1 2 4 2 3 0 2 1 3 2 3/11
=
27.3%
b 0 1 2 4 2 3 0 2 1 3
c 0 1 1 4 2 3 0 2 1
命中 命中 命中



15.D
16.C
第四章
1.不合理。指令最好半字长或单字长,设16位比较合适。
8
6
6
2.


单操作数指令为:28-m-n条
3.(1)RR型指令
(2)寄存器寻址
(3)单字长二地址指令
(4)操作码字段OP可以指定26=64种操作
4.(1)双字长二地址指令,用于访问存储器。操作码字段可指定64种操作。
(2)RS型指令,一个操作数在通用寄存器(共16个),另一个操作数在主存中。
(3)有效地址可通过变址寻址求得,即有效地址等于变址寄存器(共16个)内容加上位移量。
5.(1)双操作数指令
(2)23=8种寻址方式
(3)24=16种操作
6.(1)直接寻址方式
(2)相对寻址方式
(3)变址寻址方式
(4)基址寻址方式
(5)间接寻址方式
(6)变址间接寻址方式
7.40条指令需占6位,26=64,剩余24条可作为扩充
4种寻址方式需占2位
剩余8位作为地址
OP(6)
X(2)
D(8)
 


X = 00 直接寻址方式 E = D
X = 01 立即寻址方式
X = 10 变址寻址方式 E = (R)+D
X = 11 相对寻址方式 E = (PC)+D
8.(1)50种操作码占6位,3种寻址方式占2位
OP(6)
X(2)
D(24)
 

 

X = 00 页面寻址方式 E = PCH-D
X = 01 立即寻址方式
X = 10 直接寻址方式 E = D
(2)PC高8位形成主存256个页面,每页个单元
(3)寻址模式X = 11尚未使用,故可增加一种寻址方式。由于CPU中给定的寄存器中尚可使用PC,故可增加相对寻址方式,其有效地址E = PC+D,如不用相对寻址,还可使用间接寻址,此时有效地址E = (D)。当位移量变成23位时,寻址模式变成3位,可有更多的寻址方式。
9. 16个通用寄存器占4位,64种操作占6位,剩下22位用于存储器地址,
OP(6)
R(4)
D(22)
 

 


采用R为基址寄存器寻址,地址=(R)+D
当基址最大,D也是最大的时候,寻址能力最大
而寄存器是32位的,
故最大存储空间是232+222 = 4GB+4MB。
10、11、12、13、
14.C
15.(1)寄存器
(2)寄存器间接
(3)立即
(4)直接
(5)相对、基值、变址


第五章
1. IR、AR、DR、AC
2. STA R1,(R2)
PC0, G, ARi

R/ =R
DR0, G, ARi



R20, G, ARi

R10, G, DRi

R/ =W
PC->AR
M->DR
DR->IR
R2->AR
R1->DR
DR->M
 















 


3. LDA (R3), R0








R30, G, ARi

R/ =R
DR0, G, R0i
PC->AR
M->DR
DR->IR
R3->AR
M->DR
DR->R0
 
















4.

5.节拍脉冲T1,T2,T3的宽度实际上等于时钟脉冲的周期或是它的倍数。此处T1 = T2 = 200ns,
T3 = 400ns,所以主脉冲源的频率应为。
为了消除节拍脉冲上的毛刺,环形脉冲发生器采用移位寄存器形式。图中画出了题目要求的逻辑电路图与时序信号关系图。根据时序信号关系,T1,T2,T3三个节拍脉冲的逻辑表达式如下:

T1用与门实现,T2和T3则用C2的端和C1的Q端加非门实现,其目的在于保持信号输出时延时间的一致性并与环形脉冲发生器隔离。


6.
7. M = G
S3 = H+D+F
S2 = A+B+H+D+E+F+G
S1 = A+B+F+G
C = H+D+Ey+Fy+Gφ
8. 经分析,(d, i, j)和(e, f, h)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a, b, c, g四个微命令信号可进行直接控制,其整个控制字段组成如下:

9. P1 = 1,按IR6、IR5转移
P2 = 1,按进位C转移
10. (1)将C,D两个暂存器直接接到ALU的A,B两个输入端上。与此同时,除C,D外,其余7个寄存器都双向接到单总线上。

(2)

11. (1)假设判别测试字段中每一位作为一个判别标志,那么由于有4个转移条件,故该字段为4位。下地址字段为9位,因为控存容量为512单元。微命令字段则是(48-4-9)=35位。
(2)对应上述微指令格式的微程序控制器逻辑框图如图所示。其中微地址寄存器对应下地址字,P字段即为判别测试字段,控制字段即为微命令字段,后两部分组成微指令寄存器。地址转移逻辑的输入是指令寄存器的OP码、各种状态条件以及判别测试字段所给的判别标志(某一位为1),其输出修改微地址寄存器的适当位数,从而实现微程序的分支转移。就是说,此处微指令的后继地址采用断定方式。

12. (1)流水线的操作周期应按各步操作的最大时间来考虑,即流水线时钟周期性
(2)遇到数据相关时,就停顿第2条指令的执行,直到前面指令的结果已经产生,因此至少需要延迟2个时钟周期。
(3)如果在硬件设计上加以改进,如采用专用通路技术,就可使流水线不发生停顿。

13. (1)

(2)
(3)
14.


如上两图所示,执行相同的指令,在8个单位时间内,流水计算机完成5条指令,而非流水计算机只完成2条,显然,流水计算机比非流水计算机有更高的吞吐量。
15. 证:设n条指令,K级流水,每次流水时间τ
则用流水实现 Tp = Kτ+(n-1) τ
非流水实现 Ts = Kτn
n->∞时,
n=1时, , 则可见n>1时Ts>Tp,故流水线有更高吞吐量
16.(1)写后读 RAW
(2)读后写 WAR
(3)写后写 WAW
17.(1)

(2)

 


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

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

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

2. (1)简化了硬件的设计。从硬件的角度看,面向总线是由总线接口代替了专门的I/O接口,由总线规范给出了传输线和信号的规定,并对存储器、I/O设备和CPU如何挂在总线上都作了具体的规定,所以,面向总线的微型计算机设计只要按照这些规定制作CPU插件、存储器插件以及I/O插件等,将它们连入总线即可工作,而不必考虑总线的详细操作。
(2)简化了系统结构。整个系统结构清晰,连线少,底板连线可以印刷化。
(3)系统扩充性好。一是规模扩充,二是功能扩充。规模扩充仅仅需要多插一些同类型的插件;功能扩充仅仅需要按总线标准设计一些新插件。插件插入机器的位置往往没有严格的限制。这就使系统扩充既简单又快速可靠,而且也便于查错。
(4)系统更新性能好。因为CPU、存储器、I/O接口等都是按总线规约挂到总线上的,因而只要总线设计恰当,可以随时随着处理器芯片以及其他有关芯片的进展设计新的插件,新的插件插到底板上对系统进行更新,而这种更新只需更新需要更新的插件,其他插件和底板连线一般不需更改。
3. “A”的ASCII码为41H = 01000001B,1的个数为偶数,故校验位为0;“8”的ASCII码为38H = 00111000B,1的个数为奇数,故校验位为1。

4.
5.

6.

7.
8.C
9.B、A、C
10.A
11.D
12.A
13.
14.D、C、A、B
15.B、A、E、D、C
16.C、A、B、D、E
17. PCI总线上有HOST桥、PCI/LAGACY总线桥、PCI/PCI桥。桥在PCI总线体系结构中起着重要作用,它连接两条总线,使彼此间相互通信。桥是一个总线转换部件,可以把一条总线的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址表。桥可以实现总线间的猝发式传送,可使所有的存取都按CPU的需要出现在总线上。由上可见,以桥连接实现的PCI总线结构具有很好的扩充性和兼容性,允许多条总线并行工作。
18. 分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上,分布式仲裁是以优先级仲裁策略为基础。

19.总线的一次信息传送过程,大致可分为:请求总线,总线仲裁,寻址,信息传送,状态返回。

20. 70*8 = 560MHz/s
第七章
1.D
2.C、D、C、A
3.(1)32*12*2 = 768字节
(2)3000*12*16 = 576000位 = 72000字节
(3)
(4)50*(11+1)*(32+6)*(16+4)*(12+4) = 7.3MHz
4.(1)80*25*1 = 2000B
80*25*60 = 1.2*105字符/s
带宽>1.2*105字符/s
(2)60*(7+1)*(80+34)*(7+1)*(25+7) = 14MHz
点计数器: 8
字计数器: 114
行计数器: 8
排计数器: 32
(3)
5.
6.2*40*9*512 = 360KB
7.设读写一块信息所需总时间为tB,平均找道时间为ts,平均等待时间为tl,读写一块信息的传输时间为tm,则
tB = ts+tl+tm
假设磁盘以每秒r转速率旋转,每条磁道容量为N个字,则数据传输率 = rN个字/秒。
又假设每块的字数为n,因而一旦读写头定位在该块始端,就能在秒的时间中传输完毕。
tl是磁盘旋转半周的时间,tl = (1/2r)秒。由此可得:

8.(1)275*12288*4 = 12.89MB
(2)
(3)
(4)
(5)
此地址格式表示有4台磁盘,每台有4个记录面,每个记录面最多可容纳512个磁道,每道有16个扇区。
9.
10.360转/分 = 60转/秒 = 60道/秒
60道/秒*15扇区/道*512B/扇区 = 450KB/秒
写入4096B需时:
由于找道时间为10~40ms,故平均找道时间为25ms,最大找道时间为40ms
所以平均需时:25ms+8.9ms = 33.9ms
最长需时:40ms+8.9ms = 48.9ms
11.(1)
(2)传送一个数据块所需时间为

一个数据块占用长度为

每块间隙L = 0.014m,数据块总数为

故磁带存储器有效存储容量为
19867块*1K字节 = 19867K字节
12.

13.(1)磁盘内径为:9英寸-5英寸 = 4英寸
内层磁道周长为
每道信息量 = 1000位/英寸*31.4英寸 = 3.14*104位
磁盘有100道/英寸*5英寸 = 500道
盘片组总容量:20*500*3.14*104 = 3.14*108位 = 314兆位
(2)每转即每道含有信息量3.14*104位,即3.925*103B

14.(1)[(30*10-3+10*10-3+3000/500*10-3)*2+4*10-3]*1000 = 96s
(2) [(30*10-3+5*10-3+3000/1000*10-3)*2+4*10-3]*1000 =80s
15.(1)存储容量从大到小依次为:活动头磁盘存储器,光盘存储器,主存,软磁盘,高速缓存,寄存器组
存储周期从大到小依次为:软磁盘,光盘存储器,活动头磁盘存储器,主存,高速缓存,寄存器组
(2)
(3)
16.刷新存储器是用来存储一图像信息以不断提供刷新图像的信号。其存储容量由图像分辨率和灰度级决定。
1024*1024*24bit = 3MB
17.(1)1024*768*3 = 2.25MB
(2)1024*768*3B*72/s = 162MB/s
18.
2*220*2775 = 1.16MB
第八章
1.A、B、C
2.B
3.A
4.C
5.组织外围设备和内存进行数据传输;控制外围设备;选择;数组多路;字节多路
6.能响应,因为设备A的优先级比设备B高。若要设备B总能立即得到服务,可将设备B从第二级取出来,单独放在第三级上,使第三级的优先级最高,即令IM3 = 0。
7.依次处理设备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.(1)

(2)

9.要将通用寄存器内容保存到主存中去。只需保存中断处理程序用到的那2个寄存器内容。
10.
11.(1)IM2IM1IM0 = 011
(2) IM2IM1IM0 = 001
(3) 若要设备B总能立即得到服务,可将设备B从第二级取出来,单独放在第三级上,使第三级的优先级最高,即令IM3 = 0。
12.D
13.中断、蔽中断、中断、异常、异常、执行软件中断指令
14.B、A、C、D、E
15.B、A、
16.(1)通道方式:可以实现对外设的统一管理和外设与内存之间的数据传送,大大提高了CPU
的工作效率。
(2)DMA方式:数据传送速度很高,传送速率仅受到内存访问时间的限制。需要更多硬件,,适用于内存和高速外设之间大批数据交换的场合。
(3)中断方式:一般适用于随机出现的服务,且一旦提出要求应立即进行,节省了CPU的时间开销,但硬件结构稍复杂一些。
17.

18.类似 P139 题25