四、计算题
1.已知x=10101100,y=11110011。求xVy=? xΛy=? xy=? xy=?
解:x V y=11111111 x Λy=10100000 xy=01011111 xy =10100000
2.(1)若显示工作方式采用分辨率为1024╳768,颜色深度为3B,帧频(刷新速度)为72Hz, 计算刷新屏幕时存储器带宽是多少?
(2)实际工作时,显示适配器的几个功能部分要争用 刷存的带宽。假定总带宽的50%用于刷新屏幕,保留50%带宽用于其他非刷新功能。请问刷存总带宽应为多少?
解:(1)因为 刷新屏幕所需带宽=分辨率╳每像素点颜色深度╳刷新速度
所以 1024╳768╳3B╳72/s=165888KB/s=162MB/s
(2)刷存总带宽应为162MB/s╳100/50=324MB/s
3.已知x和y,用变形补码计算x+y、x-y,同时指出结果是否溢出。
(1)x=0.11011 y=0.00011 (2) x=0.11011 y=-0.10101
解:(1)
[x]补 = 00.11011 [x]补 = 00.11011
+ [y]补 = 00.00011 + [-y]补 = 11.11101
[x+y]补 = 00.11110 [x-y]补 = 00.11000
所以,x+y=0.11110 所以,x-y=0.11000
(2)
[x]补 = 00.11011 [x]补 = 00.11011
+ [y]补 = 11.01011 + [-y]补 = 00.10101
[x+y]补 = 00.00110 [x-y]补 = 01.10000
所以,x+y=0.00110 两符号位不同,故产生溢出。
4.CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。
解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95
r=tm/tc=250ns/50ns=5
e=1/(r+(1-r)h)=1/(5+(1-5)× 0.95)=83.3%
ta=tc/e=50ns/0.833=60ns
5.用补码运算方法求x+y=?,x-y=?,指出结果是否溢出。
(1)x=0.1001 y=0.1100 (2)x=-0.0100 y=0.1001
解:(1) [x]补= 00.1001 [x]补= 00.1001
+ [y]补=00.1100 + [-y]补=11.0100
[x+y]补=01.0101 [x-y]补=11.1101
因为双符号位相异,结果发生溢出。 所以 x-y=-0.0011。
(2) [x]补=11.1100 [x]补 =11.1100
+ [y]补=00.1001 + [-y]补=11.0111
[x+y]补=00.0101 [x-y]补=11.0011
x+y=+0.0101 x-y=-0.1101
6.某双面磁盘,每面有220道,内层磁道周长为70cm,内层位密度400位/cm,转速3000转/分,问:(1)磁盘存储容量是多少? (2)数据传输率是多少?
解:(1)每道信息量=400位/cm×70cm=28000位=3500B
每面信息量=3500B×220=770000B
磁盘总容量=770000B×2=1540000B
(2)磁盘数据传输率,也即磁盘的带宽Dr=r·N
N为每条磁道容量,N=3500B
r为磁盘转速r=3000转/60S=50转/S
所以,Dr=r×N=50/S×3500B=175000B/S
7.设X=+15,Y=-13,用带求补器的原码阵列乘法求出乘积X·Y=?
解:设最高位为符号位,输入数据为原码
[X]原=01111 [Y]原=11101
因符号位单独考虑,算前求补器输出后 =1111 =1101
1 1 1 1
× 1 1 0 1
1 1 1 1
0 0 0 0
1 1 1 1
+ 1 1 1 1
1 1 0 0 0 0 1 1
算后求补级输出为11000011,加上乘积符号位1,得[X×Y]=111000011
换算成二进制数真值是 X·Y=(-11000011)2=(-195)10
8.刷新存储器的重要性能指标是它的带宽,若显示工作方式采用分辨率为1024╳1024,颜色深度为24位,帧频(刷新速率)为72Hz,求刷新存储器的容量是多少?
解:因为 刷存容量=分辨率×颜色深度×刷新速率
所以 1024×1024×3B=3072KB=3MB
9.已知x=+13,y=-11,用带求补器的原码阵列乘法器求x·y=?并用十进制数乘法验证。
解:输入数据为 [x]原=01101 [y]原=11011
因符号位单独考虑,算前求补输出后:x=1101,y=1011
1101
× 1011
1101
1101
0000
+ 1101
10001111
乘积符号位运算结果:x0y0=01=1
算后求补器输出为10001111,加上乘积符号位1,得原码乘积值[x×y]原=110001111,换算成二进制数真值 x×y=(-10001111)2=(-143)10
十进制数乘法验证: 13╳(-11)=-143.
10.某双面磁盘,每面有220道,内层磁道周长为70cm,内层位密度400位/cm,转速3000转/分,请计算:(1)磁盘存储容量是多少?(2)数据传输率是多少?
解:(1)每道信息量=400位/cm×70cm=28000位=3500B
每面信息量=3500B×220=770000B
磁盘总容量=770000B×2=1540000B
(2)磁盘数据传输率(也即磁盘的带宽)Dr=r·N
N为每条磁道容量,N=3500B
r为磁盘转速,r=3000转/60s=50转/s
所以 Dr=r×N=50/s×3500B=175000B/S
11.设x=+12,y=-12,输入数据用原码表示,用带求补器的阵列乘法器求出x·y=?
解:输入数据为 [x]原=01100 [y]原=11100
因符号位单独考虑,算前求补输出后:│x│=1100,│y│=1100
1100
× 1100
0000
0000
1100
+ 1100
10010000
乘积符号位运算结果为:x0y0=01=1
算后求补及输出为10010000,加上乘积符号位1,得原码乘积值[x×y]原=110010000,换算成二进制数真值 x×y=(-10010000)2=(-144)10
12.某双面磁盘,每面有220道,已知磁盘转速r=3000转/分,数据传输率为175000B/S,求磁盘总容量。
解: 因为 Dr = r×N r = 3000转/分 = 50转/秒
所以 N = Dr/r = (175000B/s) ÷ (50/s)= 3500B
磁盘总容量 = 3500B×220 = 1540000B
13.已知x和y,用变形补码计算x-y,同时指出运算结果是否溢出。
(1)x=+0.11011 y=-0.11111 (2)x=+0.10111 y=+0.11011
解: (1) [x]补=00.11011
+ [-y]补=00.11111
[x-y]补=01.11010
两位符号位不同,产生溢出。
(2) [x]补=00.10111
+ [-y]补=11.00101
[x-y]补=11.11100
所以 x-y=-0.00100
14.CD-ROM光盘的外缘有5mm宽的范围因纪录数据困难,一般不使用,故标准的播放时间为60分钟。请计算模式1、模式2情况下光盘存储容量是多少?
解:扇区总数=60×60×75=270000
模式1存放计算机程序和数据,其存储容量为
270000×2048/1024/1024=527MB
模式2存放声音、图像等多媒体数据,其存储容量为
270000×2336/1024/1024=601MB
15.已知x=-0.01111,y=+0.11001,求[x]补、[-x]补、[y]补、[-y]补、x+y=? x-y=?
解:[x]原=1.01111 [x]补=1.10001 所以[-x]补=0.01111
[y]原=0.11001 [y]补=0.11001 所以[-y]补=1.00111
[x]补 = 11.10001
+ [y]补 = 00.11001
[x+y]补 = 00.01010
所以 x+y=+0.01010
[x]补 = 11.10001
+ [-y]补 = 11.00111
[x-y]补 = 10.11000
因为符号位相异,所以结果发生溢出。
16.设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期τ=500ns。问顺序存储器和交叉存储器的带宽各是多少?
解:顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:
q=64位×4=256位
顺序存储器和交叉存储器连续读出4个字所需的时间分别是:
t2=mT=4×200ns=800ns=8×10-7(s)
t1=T+(m-1)τ=200+3×50=350ns=3.5×10-7(s)
顺序存储器的带宽是:
W2=q/t2=256/(8×10-7)=32×107(位/s)
交叉存储器的带宽是:
W1=q/t1=256/(3.5×10-7)=73×107(位/s)
17.存储器容量为32字,字长64位,模块数m = 8,用交叉方式进行组织。存储周期T = 200ns, 数据总线宽度为64位,总线传输周期τ = 50ns。问该存储器的带宽是多少?
解:连续读出 m=8 个字的信息量是:q = 64位×8 = 512位
连续读出 8 个字所需的时间是:t=T+(m–1)τ=200+7×50=5.5×10-7s
交叉存储器的带宽是: W = q/t = 512/(5.5×10-7s) ≈ 93×107 位/s
18.已知 X=+15,Y=-13,输入数据用补码表示,用带求补级的补码阵列乘法器计算X×Y=? 并用十进制数乘法验证。
解:设最高位为符号位,输入数据用补码表示为:
[X]补=01111,[Y]补=10011
乘积符号位单独运算:X0Y0=01=1
算前求补器输出:∣X∣=1111 ∣Y∣=1101
1 1 1 1
× 1 1 0 1
1 1 1 1
0 0 0 0
1 1 1 1
+ 1 1 1 1
1 1 0 0 0 0 1 1
算后求补器输出为00111101,加上乘积符号位1,最后得补码乘积值为
[X×Y]补=100111101
利用补码与真值的换算公式,补码二进制数的真值是
X×Y=-1×28+1×25+1×24+1×23+1×22+1×20=(-195)10
十进制数乘法验证:X×Y=15×(-13)=-195
19.某总线在一个总线周期中并行传送4B的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHz,求总线带宽是多少?
解:设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示,根据总线带宽定义,有:
Dr=D/F=D×f=4B×33×106/s=132MB/s
20.某总线在一个总线周期中并行传送4个字节的数据,假设一个总线周期等于一个时钟周期,总线时钟频率为66MHz,求总线带宽是多少?
解:设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个周期传送的数据量用D表示,根据总线带宽定义,有:
Dr = D/T = D×f = 4B×66×106/s = 264MB/s
21.总线在一个总线周期内并行传送2个字节的数据,设一个总线周期等于一个总线时钟,总线时钟频率为33MHz,求总线带宽是多少?
解:设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个周期传送的数据量用D表示,根据总线带宽定义,有:
Dr = D/T = D×f = 2B×33×106/s = 66MB/s
22.已知x=+13,y=-11,输入数据用原码表示,用带求补器的原码阵列乘法器求x·y=?
解:输入数据为 [x]原=01101 [y]原=11011
因符号位单独考虑,算前求补输出后:│x│=1101,│y│=1011
1101
× 1011
1101
1101
0000
+ 1101
10001111
乘积符号位运算结果为:x0y0=01=1
算后求补及输出为10001111,加上乘积符号位1,得原码乘积值[x×y]原=110001111,换算成二进制数真值 x×y=(-10001111)2=(-143)10
23.已知x=0.1011,y=-0.0101,求x+y=?,x-y=?
解: [x]补=00.1011 [x]补=00.1011
+[y]补=11.1011 +[-y]补=00.0101
00.0110 01.0000
x+y=+0.0110 x-y产生溢出
24.已知:X=0.1011,Y=-0.0101,求[X/2]补,[X/4]补[-X]补,[Y/2]补,[Y/4]补,
[-Y]补
解:[X]补 = 0.1011 [X/2]补 = 0.01011 [X/4]补 = 0.001011
[-X]补 = 1.0101
[Y] 补 = 1.1011 [Y/2]补 = 1.11011 [Y/4]补 = 1.111011
[-Y]补 = 0.0101
25.机器数字长8位(含1位符号位),若机器数为81(十六进制),当它分别表示原码、补码、反码和移码时,等价的十进制数分别是多少?
原码: -1,补码: -127, 反码:-126,移码:+1。
26.机器数字长为8位(含1位符号位),当X= -127 (十进制)时,其对应的二进制表示,(X)原表示,(X)反表示,(X)补表示,(X)移表示分别是多少?
解:二进制表示为 -01111111
[X]原 = 11111111 [X]反 = 10000000
[X]补 = 10000001 [X]移 = 00000001
27.求十进制数-113的原码表示,反码表示,补码表示和移码表示(用8位二进制表示,并设最高位为符号位,真值为7位)。
解:原码 11110001 反码 10001110
补码 10001111 移码 00001111
28.将十进制数354 转换成二进制数、八进制数、十六进制数和BCD数。
解:(1)(354 )10=(162.A)16
(2)(354 )10=(101100010.1010)2
(3)(354 )10=(542.5)8
(4)(354 )10=(001101010100.011000100101)BCD
29.浮点数格式如下:1位阶符,6位阶码,1位数符,8位尾数,请写出浮点数所能表示的范围(只考虑正数值)。
解:最小值2-111111×0.00000001
最大值2111111×0.11111111
30.显示工作方式采用分辨率为1024×768,颜色深度为3B,桢频为72Hz,计算刷新存储器带宽应是多少?
解:刷存所需带宽=分辨率×每个像素点颜色深度×刷新速率,故刷存带宽为:
1024×768×3B×72/s=165888KB/s=162MB/s.
31.有一个1024K×32位的存储器,由128K×8位的DRAM构成。
问:(1)总共需要多少DRAM芯片。
(2)采用异步刷新,如果单元刷新间隔不超过8ms,则刷新信号周期是多少?
解:(1)DRAM芯片容量为128K×8位 = 128KB
存储器容量为1024K×32位 = 1024K×4B =4096KB
所需芯片数 4096KB÷128KB = 32片
(2)对于128K×8位的DRAM片子,选择一行地址进行刷新,取刷新地址A8—A0,则8ms内进行512个周期的刷新。按此周期数,512×4096 = 128KB,对一行上的4096个存储元同时进行刷新。采用异步刷新方式刷新信号的周期为 8ms÷512 = 15.6μs
32.某总线在一个总周期中并行传送2个字节的数据。设一个总线周期等于一个总线时钟周期,总线时钟频率66MHz,求总线带宽是多少?
解:设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个周期传送的数据量用D表示,根据总线带宽定义,有:
Dr = D/T = D×f = 2B×66×106/s = 132MB/s
33.异步通信方式传送ASCII码,数据位8位,奇校验1位,停止位1位。计算当波特率为4800时,字符传送的速率是多少?每个数据位的时间长度是多少?数据位的传送速率是多少?
解:每个字符格式包含十个位,因此字符传送速率
4800波特/10=480字符/秒
每个数据位时间长度T=1/4800=0.208ms
数据位传送速率8×480=3840位/秒
34.若浮点数X的二进制存储格式为(41360000)16,求其32位浮点数的十进制值。
解:将16进制数展开后,可得二进制格式为
0 1000 0010 0110 1100 0000 0000 0000 000
↑
S 阶码8位 尾数23位
指数e = 阶码-127 = 10000010-01111111 = 00000011 = (3)10
包括隐藏位1的尾数1.M = 1.011 0110 0000 0000 0000 0000 = 1.011011
于是有X=(-1)S×1.M×2e =+(1.011011)×23 = +1011.011=(11.375)10
35.设机器字长为16位,定点表示时,尾数15位,阶符1位。
(1)定点原码整数表示时,最大正数为多少?最小负数为多少?
(2)定点原码小数表示时,最大正数为多少?最小负数为多少?
解:(1)定点原码整数表示时
最大正数:(215-1)10 = (32767)10
最小负数:-(215-1)10=(-32767)10
(2)定点原码小数表示时
最大正数:(1-2-15)10
最小负数:-(1-2-15)10
36.已知[N1]补=(011011)2, [N2]补= (101101)2,求[N1]补,[N2]补具有的十进制数值。
解:[N1]补=(011011)2 利用补码与真值换算公式,得
N1 = 0×25+1×24+1×23+0×22+1×21+1×20 = 27
[N2]补=(101101)2
所以 N2 = -1×25+0×24+1×23+1×22+0×21+1×20 = -19
五.应用题(每小题5分,计40分)
1. 用16k×8位的SRAM芯片构成64K×16位的存储器,要求画出该存储器的组成逻辑框图。
解:存储器容量为64K×16位,其地址线为16位(A15—A0),数据线也是16位(D15—D0)
SRAM芯片容量为16K×8位,其地址线为14位,数据线为8位,因此组成存储器时须字位同时扩展。字扩展采用2 :4译码器,以16K为一个模块,共4个模块。位扩展采用两片串接。
图5.1
2. 提高存储器速度可采用哪些措施,请说出至少五种措施。
答:措施有:①采用高速器件,②采用cache (高速缓冲存储器),③采用多体交叉存储器,④采用双端口存储器,⑤加长存储器的字长。
3. 若机器字长36位,采用三地址格式访存指令,共完成54种操作,操作数可在1K地址范围内寻找,画出该机器的指令格式。
解:操作码需用6位,操作数地址码需用10位。格式如下
6 10 10 10
OP | D1 | D2 | D3 |
OP:操作码6位
D1 :第一操作数地址,10位
D2 :第二操作数地址,10位
D3 :第三操作数地址,10位
4. 举例说明存储器堆栈的原理及入栈、出栈的过程。
解:所谓存储器堆栈,是把存储器的一部分用作堆栈区,用SP表示堆栈指示器,MSP表示堆栈指示器指定的存储器的单元,A表示通用寄存器。
入栈操作可描述为(A)→MSP,(SP-1)→SP
出栈操作可描述为(SP+1)→SP,(MSP)→A
5. 试画出三总线系统的结构图。
解:三总线结构如下图所示:
内存总线
I/O总线
图5.5
6.某加法器进位链小组信号为C4C3C2C1,低位来的进位信号为C0,请写出并行进位方式的C4C3C2C1的逻辑表达式。
解:并行方式:C1 = G1 + P1C0
C2 = G2 + P2G1 + P2P1C0
C3 = G3 + P3G2 + P3P2G1 + P3P2P1C0
C4 = G4 + P4G4 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0
7. 某加法器进位链小组信号为C4C3C2C1,低位来的进位信号为C0,请按串行进位方式写出C4C3C2C1的逻辑表达式。
解:串行方式:C1 = G1 + P1C0 C2 = G1 + P2C1
C3 = G3 + P3C2 C4 = G4 + P4C3
其中 G1 = A1B1 P1 = A1⊕B1
G2 = A2B2 P2 = A2⊕B2
G3 = A3B3 P3 = A3⊕B3
G4 = A4B4 P4 = A4⊕B4
8.格式如下所示,其中OP为操作码,试分析指令格式特点。
16 12 9 5 4 0
OP |
| 源寄存器 | 目标寄存器 |
解:(1)OP字段指定32种操作
(2)单字长二地址指令,操作数在通用寄存器中(32个)或主存中
(3)每个操作数可以指定8种寻址方式
(4)操作数可以是RR型、RS型、SS型
9.用时空图法证明流水处理器比非流水处理器具有更大的吞吐能力。
解:时空图法:假设指令周期包含四个子过程:取指令(IF)、指令译码(ID)、 执行运算(EX)、结果写回(WB),每个子过程称为过程段(Si),这样,一个流水线由一系列串连的过程段组成。在统一时钟信号控制下,数据从一个过程段流向相邻的过程段。
S1 S2 S3 S4
入→ 出→
(a)指令周期流程
图5.9
图5.9(b)表示非流水CPU的时空图。由于上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此每隔4个单位时间才有一个输出结果,即一条指令执行结束。
图5.9(c)表示流水CPU的时空图。由于上一条指令与下一条指令的四个过程在时间上可以重叠执行,因此,当流水线满载时,每一个单位时间就可以输出一个结果,即执行一条指令。
比较后发现:流水CPU在八个单位时间中执行了5条指令,而非流水CPU仅执行2条指令,因此流水CPU具有更强大的数据吞吐能力。
10.总线的一次信息传送过程大致分哪几个阶段?若采用同步定时协议,画出读数据的同步时序图。
解:分五个阶段:总线请求,总线仲裁,寻址(目的地址),信息传送,状态返回(或错误报告)。
时序图:
图5.10
11.要求用128K×16位的SRAM芯片设计512K×16位的存储器,SRAM芯片有两个控制端:当 CS 有效时该片选中。当W/R=1时执行读操作,当W/R=0时执行写操作。用64K×16位的EPROM芯片组成128K×16位的只读存储器。试问:。
<1> 数据寄存器多少位?
<2> 地址寄存器多少位?
<3> 共需多少片EPROM?
<4> 画出此存储器组成框图。
解:(1)存储器的总容量为:512K×16位(SRAM)+128K×16位(EPROM)=640K×16位。 数据寄存器16位。
(2)因为220=1024K>640K,所以地址寄存器20位。
(3)所需EPROM芯片数为(128K×2B)/(64K×2B)=2(片)
设存储器地址空间分配如下:
EPROM |
SRAM |
(3)
128K
512K
存储器组成框图如下:
图5.11
12.画出PCI总线结构框图。说明三种桥的功能。
解:PCI总线结构框如图C5.12所示。
图5.12
桥在PCI总线体系结构中,起着重要的作用,它连接两条总线,使彼此间相互通信。桥是一个总线转换部件,可以把一条总线的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址表。桥可以实现总线间的猝发式传送,可使所有的存取都按CPU的需要出现在总线上。由上可见,以桥连接实现的PCI总线结构具有很好的扩充性和兼容性,允许多条总线并行工作。
13.设存储器容量为32字,字长64位,模块数m=4,请分别画出顺序方式和交叉方式组织的存储器结构示意图。
解:(1)内存地址 4 3 2 1 0
模块 | 字 |
M0 M1 M2 M3
数据总线(64位)
(a) 顺序存储器
图5.13.1
(2)内存地址 4 3 2 1 0
字 | 模块 |
M0 M1 M2 M3
数据总线(64位)
(b) 交叉存储器
图5.13.2
14.指令格式如下所示,其中OP为操作码,试分析指令格式特点。
15 10 7 4 3 0
OP | 源寄存器 | 目标寄存器 | |
解:(1)操作码字段 OP可以指定26=64种基本操作。
(2)单字长(16位)二地址指令。
(3)源寄存器和目标寄存器都是通用寄存器(各指定16个),所以是RR型指令,两个操作数均在通用寄存器中。
(4)这种指令结构常用于算术/逻辑类运算指令,执行速度最快。
15.假设有磁盘、磁带、打印机三个设备同时工作。磁盘以30μs的间隔向控制器发DMA请求,磁带以45μs的间隔发DMA请求,打印机以150μs间隔发DMA请求。根据传输速率,磁盘优先权最高,磁带次之,打印机最低,假设DMA控制器每完成一次DMA传送所需的时间是5μs。若采用多路型DMA控制器,请画出DMA控制器服务三个设备的工作时间图。
解:由图看出,T1间隔中控制器首先为打印机服务,因为此时只有打印机有请求。T2间隔前沿磁盘、磁带同时有请求,首先为优先权高的磁盘服务,然后为磁带服务,每次服务传送一个字节。在90μs时间阶段中,为打印机服务只有一次(T1),为磁盘服务四次(T2,T4,T6,T7),为磁带服务三次(T3,T5,T8),从图上看到,在这种情况下DMA尚有空闲时间,说明控制器还可以容纳更多设备。
图5.14
16.微程序共有60条微指令,18个微命令(直接控制),6个微程序分支,请画出微程序控制器组成框图,简述各部分的功能。
解:根据题意,微指令格式如下:
微指令字段(18位) | P字段(3位) | 下址字段(6位) |
由此可画出微程序组成框图如下:
图5.16
17.画出中断处理过程流程图。
解:
图5.17
18.某刷新存储器所需的带宽为160MB/S,实际工作时,显示适配器的几个功能部分要争用刷存的带宽。假定总带宽的50%用于刷新屏幕,保留50%带宽用于其它非刷新功能。请问刷存总带宽应为多少?为达到此刷存带宽,应采取何种措施?
解:刷存总带宽160MB/S×100/50=300MB/S。
可采用如下技术措施:
<1> 使用高速的DRAM芯片组成刷存。
<2> 刷存采用多体交叉结构。
<3> 加大刷存至显示控制器的内部总线宽度。
刷存采用双端口存储器结构,将刷新端口与更新端口分开。
19.微程序共有58条微指令,20个微命令(直接控制),6个微程序分支,请画出微指令格式和微程序控制器组成框图。
解:根据题意,微指令格式如下(直接控制方式):
微命令字段(20位) | P字段(6位) | 下址字段(6位) |
由此可画出微程序组成框图如下:
IR
····
20位
微命令信号
6位 ·····
图C5.19
20.设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线带宽为64位,总线传送周期τ=50ns。问顺序存储器和交叉存储器的带宽各是多少?
解:顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:
q=64位×4=256位
顺序存储器和交叉存储器连续读出4个字所需的时间分别是:
t2=mT=4×200ns=800ns=8×10-7(s)
t1=T+(m-1)τ=200+3×50=350ns=3.5×10-7(s)
顺序存储器和交叉存储器的带宽分别是:
W1=q/t2=256/(8×10-7)=32×107(位/s)
W2=q/t1=256/(3.5×10-7)=73×107(位/s)
21.DMA传送方式有哪几种?画出题目的原理示意图。
解: DMA传送方式有:
(1) 停止CPU访内
(2) 周期挪用
(3) DMA与CPU交替访内
原理示意图如下图所示:
内存工作时间 t
CPU控制并 CPU不执行程序
使用内存
DMA控制并 DMA不工作 DMA不工作
使用内存 DMA工作
(a)停止CPU访问内存
内存工作时间 t
CPU 控制并
使用内存
DMA控制并
使用内存
(b)周期挪用
内存工作时间 t
CPU 控制并
使用内存 C1 C1
DMA控制并 C2 C2
使用内存
(c)DMA与CPU 交替访内
图5.21
22.存储器容量为32字,字长64位,模块数m=8,用交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期τ=50ns。问该存储器的带宽是多少?
解:连续读出m=8个字的信息量是:
q=64位×8=512位
连续读出8个字所需的时间是:
t=T+(m-1)τ=200+7×50=550ns=5.5×10-7s
交叉存储器的带宽是:
W=q/t=512/(5.5×10-7/s)≈93×107位/s
23.图中所示的处理机逻辑框图中,有两条独立的总线和两个独立的存储器。已知指令存储器IM最大容量为16384字(字长18位),数据存储器DM最大容量是65536字(字长16位)。各寄存器均有“打入”(Rin)和“送出”(Rout)控制命令,但图中未标注出。指出下列各寄存器的位数:
程序计数器PC; 指令寄存器IR;累加寄存器 AC0和AC1;通用寄存器R0—R3;指令存储器的地址寄存器IAR;指令存储器的数据缓冲寄存器IDR;数据存储器的地址寄存器DAR;数据存储器的数据缓冲寄存器DDR。
图5.23
解:PC=14位 IR=18位
AC0=AC1=16位 R0—R3=16位
IAR=14位 IDR=18位
DAR=16位 DDR=16位
24.用16K×16位的DRAM芯片构成64K×32位存储器。问需要多少个这样的DRAM芯片?画出该存储器的组成逻辑框图。
解:DRAM芯片容量为16K×16位=214×16
片内地址线14位(A13—A0),数据线16位。
存储器容量为64K×32位=216×32
全部地址线16位(A15—A0),数据线32位。
所需芯片总数为(64K×32)÷(16K×16)=8(片)
因此存储器可分为4个模块,每个模块16K×32位,各模块通过A15、A14进行2:4译码器选择。
存储器的组成逻辑框图如下:
图5.24
25.画出PCI总线结构框图,说明HOST总线,PCI总线,LAGACY总线的功能。
解:HOST总线连接主存、多个CPU。
PCI总线连接各种高速PCI设备,亦可使用HOST桥与HOST总线相连或使用负载能力PCI/PCI 桥与已和HOST总线相连的PCI总线相连,从而得以扩充整个系统的PCI总线。
LAGACY总线可以充分利用市场上丰富的适配卡,支持中、低速I/O设备。 图如下:
图5.25
26.某机指令格式如图所示:
OP | X | D |
15 10 9 8 7 0
图中X为寻址特征位,且X=0时,不变址;X=1时,用变址寄存器X1进行变址;X=2时,用变址寄存器X2进行变址;X=3时,相对寻址。设(PC)=1234H,(X1)=0037H,
(X2)=1122H,请确定下列指令的有效地址(均用十六进制表示,H表示十六进制)
(1)4420H (2)2244H (3)1322H (4)3521H (5)6723H
解:(1)0020H (2)1166H (3)1256H (4)0058H (5)1257H
27.现有一64K×2位的存储器芯片,欲设计具有同样存储容量的存储器,应如何安排地址线和数据线引脚的数目,使两者之和最小。并说明有几种解答。
设地址线x根,数据线y根,则
2x·y=64K×2
若 y=1 x=17
y=2 x=16
y=4 x=15
y=8 x=14
因此,当数据线为1或2时,引脚之和为18
共有2种解答
28.已知某8位机的主存采用半导体存储器,地址码为18位,采用4K×4位的SRAM芯片组成该机所允许的最大主存空间,并选用模块条形式,问:
(1) 若每个模块条为32K×8位,共需几个模块条?
(2) 每个模块条内有多少片RAM芯片?
(3) 主存共需多少RAM芯片?CPU需使用几根地址线来选择各模块?使用何种译码器?
解: (218×8)/(32k×8)=8,故需8个模块
(32k×8)/(4k×4)=16,故需16片芯片
共需8×16=128片芯片
为了选择各模块,需使用3:8译码器
即3根地址线选择模条。
29.A、B、C是采用中断方式交换信息的与主机连接的三台设备,它们的中断响应的先后次序为A→B→C→CPU,若使中断处理的次序为B→C→A→CPU,则它们的中断屏蔽码应如何设置?若CPU在运行主程序时,A、B、C三台设备同时发出中断请求,请画出CPU执行程序的轨迹。(屏蔽码中,“0”表示允许中断,“1”表示屏蔽中断)。
解:(1)假设中断控制器采用独立请求方式进行仲裁,根据优先次序,B、C、A三台设备与CPU连接示意图如5.29.1所示。其中IM为“中断屏蔽”标志,IR为“中断请求”标志。中断处理次序为B→C→A→CPU,应设“中断屏蔽”标志IM2IM1IM0=000,其中设备B优先级最高,设备C优先级次之。三台设备组成三级中断系统。
2级
1级 图5.29.1
0级
(2)三台设备同时发生中断请求时CPU执行程序的轨迹如图5.29.2所示。
设备A中断 设备C中断 设备B中断
服务程序 服务程序 服务程序
主
程
序
图29.2
30.用8K×8位的ROM芯片和8K×8位的RAM芯片组成一个32K×8位的存储器,其中RAM地址占24K(地址为2000H~7FFFH),ROM地址占8K(地址为0000H~1FFFH)。RAM芯片有两个输入端:当CS有效时,该片选中,当W/R=1时,执行读操作;当W/R=0时,执行写操作。ROM芯片只有一个控制输入端——片选CS。要求画出此存储器组成结构图。(包括与CPU的连接)。
解:存储器地址空间分布如图5.30.1所示
存储器总容量为32K,CPU需提供15条地址线A15A14A13……A0,其中A13-A0 作为片内地址线,A15A14 通过2:4译码器产生4个片信号CS。
7FFF
图5.30.1
存储器与CPU的连接图如图5.30.2所示:
图5.30.2
31.用16K×16位的SRAM芯片构成64K×32位的存储器。要求画出该存储器的组成逻辑框图。
所需芯片总数(64K×32)÷(16K×16)= 8片 因此存储器可分为4个模块,解:每个模块16K×32位,各模块通过A15、A14进行2:4译码
图5.31
32.CPU结构如图所示,其中一个累加寄存器AC,一个状态条件寄存器和其它四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。
(1) 标明图中四个寄存器的名称。
(2) 简述指令从主存取到控制器的数据通路。
(3) 数据在运算器和主存之间进行存/取访问的数据通路。
图5.32
答:(1)a为数据缓冲寄存器DR,b为指令寄存器IR,c为主存地址寄存器AR,d为程序计数器PC;
(2)PC→AR→主存 → 缓冲寄存器DR → 指令寄存器IR → 操作控制器
(3)存储器读:M → DR → ALU → AC 存储器写:AC → DR → M
33.举出三种中断向量产生的方法。
答:(1)由编码电路实现,直接产生。
(2)由硬件产生一个“位移量”,再加上CPU某寄存器里存放的基地址
(3)向量地址转移法:由优先级编码电路产生对应的固定地址码,其地址中存放的是转移指令,通过转移指令可以转入设备各自的中断服务程序入口。
34.设有一个具有20位地址和32位字长的存储器,问:
(1)该存储器能存储多少个字节的信息?
(2)如果存储器由512k×8位的SRAM 芯片组成,需多少片?
(3)需多少位地址作芯片选择?
解:(1)应为32位字长为4B,220 = 1M = 1024K,存储器容量为220×4B = 4MB,可存储4M字节的信息
(2)SRAM芯片容量为512K×8位 = 512KB = 0.5MB
所需芯片数目为:4MB ÷ 0.5MB = 8片
(3)因为219 = 512K,即芯片片内地址线19位,存储器容量为1M,地址线为20位,故需1位地址线作芯片片选选择(CS),用A19选第1个模块,用A19选第2个模块。
35.指令格式如下所是,其中OP为操作码字段,试分析指令格式特点。
15 10 7 4 3 0
OP | ---------- | 源寄存器 | 基址存储器 |
位移量(16位) | |||
解:(1)双字长二地址指令,用于访问存储器
(2)操作码字段OP为六位,可以指定64种操作
(3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(由基址寄存器和位移量决定),所以是RS型指令。
36.画出单机系统中采用的三种总线结构。
单总线结构:
图5.36.1
双总线结构:
图5.36.2
三总线结构:
图5.36.3
37.某刷新存储器所需的带宽为160MB/S。实际工作时,显示适配器的几个功能部分要争用刷存的带宽。假定总带宽的50%用于刷新屏幕,保留50%带宽用于其他非刷新功能。问刷存总带宽应为多少?为达到这样的刷存带宽,应采取何种技术措施?
解:刷存总带宽 160MB/s × 100/50 = 320MB/s
可采用如下技术措施:
(1)使用高速的DRAM芯片组成刷存
(2)刷存采用多体交叉结构
(3)加大刷存至显示控制器的内部总线宽度
(4)刷存采用双端口存储器结构,将刷新端口与更新端口分开
38.设[X]补 = X0.X1X2…Xn,求证: [X/2]补 = X0.X0X1X2…Xn 。
证明:
因为 X = -X0 + Xi2-i
所以 X/2 = -X0/2 + 1/2 Xi2-I = -X0 + X0/2 + 1/2 Xi2-i
= -X0 + Xi2-(i+1)
由于X/2= -X0 + Xi2-(i+1)
根据补码与真值的关系便有:[X/2]补 = X0.X0X1X2…Xn
39. 指令格式结构如下所示,试分析指令格式特点。
15 12 11 9 8 6 5 3 2 0
OP | 寻址方式 | 寄存器 | 寻址方式 | 寄存器 |
源地址 目标地址
解:(1)OP字段指定16种操作
(2)单字长二地址指令
(3)每个操作数可以指定8种寻址方式
(4)操作数可以是RR型、RS型、SS型
40. 一个基本的DMA控制器应包括哪些逻辑构件?
答:应当包括:内存地址计数器 字计数器 数据缓冲寄存器
“DMA请求”标志 “控制/状态”逻辑 中断机构 等逻辑构件
41.[x]补+[y]补=[x+y]补 求证 : -[y]补=[-y]补
证明:因为 [x]补+[y]补=[x+y]补
令x = -y 代入,则有 [-y]补+[y]补=[-y+y]补 = [0]补 = 0
所以 -[y]补=[-y]补
42.指令格式如下所示,其中OP为操作码,试分析指令格式特点。
18 12 11 10 9 5 4 0
OP | ---------- | 源寄存器 | 目标寄存器 |
解:(1)单字长二地址指令
(2)操作码字段OP可以指定128条指令
(3)源寄存器和目标寄存器都是通用寄存器(可分别指定32个),所以是RR型指令,两个操作数均存放在寄存器中
(4)这种指令结构常用于算术逻辑运算
43.比较水平微指令和垂直微指令的优缺点。
解:(1)水平型微指令并行操作能力强、效率高、灵活性强,垂直型微指令则较差;
(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长;
(3)由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点,而垂直型微指令正好相反;
(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说比较容易掌握。
44.用多路DMA控制器控制磁盘、磁带、打印机三个设备同时工作。磁盘以30μs的间隔向控制器发DMA请求,磁带以45μs的间隔向控制器发DMA请求,打印机以150μs的间隔发DMA请求。请画出多路DMA控制器的工作时空图。
30 μS
磁盘 t
45 μS
磁带 t
打印机 t
DMA T1 T2 T3 T4 T5 T6 T7 T8
控制器 t
5 μS
45. 已知:[X]补 = X0.X1X2…Xn,求证:[1-X]补 = X0.X1 X2…Xn + 2-n。
证明:因为[1-X]补 = [1]补 + [-X]补 = 1 + X0. X1 X2 … Xn + 2-n
1 + X0 = X0
所以 [1-X]补 = 1 + X0. X1 X2 … Xn + 2-n = X0. X1 X2…Xn + 2-n
46.中断接口中有哪些标志触发器?功能是什么?
解:中断接口中有四个标志触发器:
(1)准备就绪的标志(RD):一旦设备做好一次数据的接受或发送,便发出一个设备动作完毕信号,使RD标志置“1”。在中断方式中,该标志用作为中断源触发器,简称中断触发器。
(2)允许中断触发器(EI):可以用程序指令来置位。EI为“1”时,某设备可以向CPU发出中断请求;EI为“0”时,不能向CPU发出中断请求,这意味着某中断源的中断请求被禁止。设置EI标志的目的,就是通过软件来控制是否允许某设备发出中断请求。
(3)中断请求触发器(IR):它暂存中断请求线上由设备发出的中断请求信号。当IR标志为“1”时,表示设备发出了中断请求。
(4)中断屏蔽触发器(IM):是CPU是否受理中断或批准中断的标志。IM标志为“0”时,CPU可以受理外界的中断请求,反之,IM标志为“1”时,CPU不受理外界的中断。
47. 画出微程序控制器组成框图,说明各部分功能。
解:
图5.47
(1)控制存储器 用来存放实现全部指令系统的所有微程序。
(2)微指令寄存器 用来存放由控制存储器读出的一条微指令信息。
(3)地址转移逻辑 在一般情况下,微指令由控制存储器读出后直接给出下一条微指令地址,这个微地址信息就存放在微地址寄存器中,如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当出现分支时,由地址转移逻辑自动完成修改微地址的任务。
48. 用多路DMA控制器控制光盘、软盘、打印机三个设备同时工作。光盘以30μs的间隔向控制器发DMA请求,软盘以60μs的间隔向控制器发DMA请求,打印机以180μs的间隔发DMA请求。假设DMA控制器完成一次DMA传送时间为5μs,请画出多路DMA控制器的工作时空图。
解:
图5.48
49. 有一个16K×16的存储器,由1K×4位的DRAM芯片构成问:
(1)总共需要多少DRAM芯片?
(2)画出存储体的组成框图。
解:(1)芯片1K×4位,片内地址线10位(A9--A0 ),数据线4位。
芯片总数16K×16/(1K×4)=64片
(2)存储器容量为16K,故地址线总数为14位(A13─A0),其中A13A12A11A10通过 4:16译码器产生片选信号CS0─CS15 。
A9─A0
4位 CS1 CS0 4位
。。。。
4位 4位
CS0 CS1 CS15 D15—D0
……
A13 A12 A11 A10
图5.49
50.何谓DMA方式?DMA控制器可采用哪几种方式与CPU分时使用内存?
解:DMA直接内存访问方式是一种完全由硬件执行I/O交换的工作方式。DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU而直接在内存和I/O设备间进行。
本文来源:https://www.2haoxitong.net/k/doc/0a1bacfa700abb68a982fb25.html
文档为doc格式