第3章系统总线
1. 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?
答:P41.总线是一种能由多个部件分时共享的公共信息传送线路。
总线传输的特点是:某一时刻只允许有一个部件向总线发送信息,但多个部件可以同时从总线上接收相同的信息。
为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。
2. 总线如何分类?什么是系统总线?系统总线又分为几类,它们各有何作用,是单向的,还是双向的,它们与机器字长、存储字长、存储单元有何关系?
答:按照连接部件的不同,总线可以分为片内总线、系统总线和通信总线。
系统总线是连接CPU、主存、I/O各部件之间的信息传输线。
系统总线按照传输信息不同又分为地址线、数据线和控制线。地址线是单向的,其根数越多,寻址空间越大,即CPU能访问的存储单元的个数越多;数据线是双向的,其根数与存储字长相同,是机器字长的整数倍。
4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?
答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;
常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;
特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。
7. 画图说明异步通信中请求与回答有哪几种互锁关系?
答:见P61-62,图3.86。
14. 设总线的时钟频率为8MHZ,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?
解:由于:f=8MHz,T=1/f=1/8M秒,一个总线周期等于一个时钟周期
所以:总线带宽=16/(1/8M)= 128Mbps
15. 在一个32位的总线系统中,总线的时钟频率为66MHZ,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?
解:总线传输周期=4*1/66M秒
总线的最大数据传输率=32/(4/66M)=528Mbps
若想提高数据传输率,可以提高总线时钟频率、增大总线宽度或者减少总线传输周期包含的时钟周期个数。
16. 在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。
解:一帧包含:1+8+1+2=12位;故波特率为:(1+8+1+2)*120=1440bps;比特率为:8*120=960bps
第4章存储器
5. 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?解:存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽= 1/200ns ×32位= 160M位/秒= 20MB/秒= 5M字/秒
注意:字长32位,不是16位。(注:1ns=10-9s)
7. 一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?
1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位
解:地址线和数据线的总和= 14 + 32 = 46根;选择不同的芯片时,各需要的片数为:
1K×4:(16K×32)/ (1K×4)= 16×8 = 128片
2K×8:(16K×32)/ (2K×8)= 8×4 = 32片
4K×4:(16K×32)/ (4K×4)= 4×8 = 32片
16K×1:(16K×32)/ (16K×1)= 1×32 = 32片
4K×8:(16K×32)/ (4K×8)= 4×4 = 16片
8K×8:(16K×32)/ (8K×8)= 2×4 = 8片
15. 设CPU共有16根地址线,8根数据线,并用MREQ(低电平有效)作访存控制信号,W
/
R作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM (1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区。
(2)指出选用的存储芯片类型及数量。
(3)详细画出片选逻辑。
解:(1)地址空间分配图:
系统程序区(ROM共4KB):0000H-0FFFH
用户程序区(RAM共12KB):1000H-3FFFH
(2)选片:ROM:选择4K×4位芯片2片,位并联
RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,
RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H-3FFFH)
(3)各芯片二进制地址分配如下:
CPU 和存储器连接逻辑图及片选逻辑如下图(3)所示:
图(3)
28. 设主存容量为256K 字,Cache 容量为2K 字,块长为4。
(1)设计Cache 地址格式,Cache 中可装入多少块数据? (2)在直接映射方式下,设计主存地址格式。 (3)在四路组相联映射方式下,设计主存地址格式。 (4
)在全相联映射方式下,设计主存地址格式。
(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。 解:(1)Cache 容量为2K 字,块长为4,Cache 共有2K/4=211/22=29=512块,
Cache 字地址9位,字块内地址为2
位
因此,Cache 地址格式设计如下:
(2)主存容量为256K 字=218字,主存地址共18位,共分256K/4=216块,
主存字块标记为18-9-2=7位。
直接映射方式下主存地址格式如下:
(3)根据四路组相联的条件,一组内共有4块,得Cache 共分为512/4=128=27组,
主存字块标记为18-7-2=9位,主存地址格式设计如下:
(4)在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:
(5)若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/4=221B ,
Cache 容量为2K*32/4=214B ,块长为4*32/4=32B=25B ,字块内地址为5位, 在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:
在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格式为:
在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:
29. 假设CPU 执行某段程序时共访问Cache 命中4800次,访问主存200次,已知Cache 的存取周期为30ns ,主存的存取周期为150ns ,求Cache 的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?
解:Cache 被访问命中率为:4800/(4800+200)=24/25=96%
则Cache-主存系统的平均访问时间为: t a =0.96*30ns+(1-0.96)*150ns=34.8ns Cache-主存系统的访问效率为:e=t c /t a *100%=30/34.8*100%=86.2% 性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。
32. 设某机主存容量为4MB ,Cache 容量为16KB ,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache 每组内共有4个字块)的Cache 组织。
(1)画出主存地址字段中各段的位数。
(2)设Cache 的初态为空,CPU 依次从主存第0,1,2,…,89号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache 的速度是主存的6倍,试问有Cache 和无Cache 相比,速度约提高多少倍? 解:(1)根据每字块有8个字,每字32位(4字节),得出主存地址字段中字块内地址为3+2=5位。 根据Cache 容量为16KB=214B ,字块大小为8*32/8=32=25B ,得Cache 地址共14位,Cache 共有214-5=29块。
根据四路组相联映射,Cache 共分为29/22=27组。
根据主存容量为4MB=222B ,得主存地址共22位,主存字块标记为22-7-5=10位,故主存地址格式为:
(2)由于每个字块中有8个字,而且初态为空,因此CPU 读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache 第0组中的任一块内,接着CPU 读第1~7号单元时均命中。同理,CPU 读第8,16,…,88号时均未命中。可见,CPU 在连续读90个字中共有12次未命中,而后8次循环读90个字全部命中,命中率为:
984.08
9012
890=?-?
(3)设Cache 的周期为t ,则主存周期为6t ,没有Cache 的访问时间为6t*90*8,有Cache 的访问时间为t (90*8-12)+6t*12,则有Cache 和无Cache 相比,速度提高的倍数为:
54.5112
t 6t )12890(8
90t 6≈-?+-???
39. 某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12 288字节,最小磁道直径为230mm,共有275道,求:
(1)磁盘存储器的存储容量。
(2)最高位密度(最小磁道的位密度)和最低位密度。
(3)磁盘数据传输率。
(4)平均等待时间。
解:(1)存储容量= 275道×12 288B/道×4面= 13 516 800B
(2)最高位密度= 12 288B/(π×230)= 17B/mm = 136位/mm(向下取整)
最大磁道直径=230mm+2×275道/(5道/mm) = 230mm + 110mm = 340mm
最低位密度= 12 288B /(π×340)= 11B/mm = 92位/ mm (向下取整)
(3)磁盘数据传输率= 12 288B × 3000转/分=12 288B × 50转/秒=614 400B/s
(4)平均等待时间= 1s/50 / 2 = 10ms
第6章计算机的运算方法
12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应的机器数。要求如下:
(1)阶码和尾数均为原码。
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
解:据题意画出该浮点数的格式:
将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2 * 0.110 011B
x2= -27/1024= -0.0000011011B = 2-5*(-0.11011B)
则以上各数的浮点规格化数为:
(1)[x1]浮=1,0001;0.110 011 000 0
[x2]浮=1,0101;1.110 110 000 0
(2)[x1]浮=1,1111;0.110 011 000 0
[x2]浮=1,1011;1.001 010 000 0
(3)[x1]浮=0,1111;0.110 011 000 0
[x2]浮=0,1011;1.001 010 000 0
16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。
(1)无符号数;
(2)原码表示的定点小数。
(3)补码表示的定点小数。
(4)补码表示的定点整数。
(5)原码表示的定点整数。
(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。
(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。