这是最后一篇文章了,真不容易啊,第七章后面的没有教了,所以就没有做
1.
2. 在DMA方式中下,主存和I/O设备之间有一条物理通路相连吗?
3. 设一个32位微处理器配有16位的外部数据总线,时钟频率为50MHz,若 总线传输的最短周期为4个时钟周期,试问处理器的最大数据传输率是多少?要 想提高一倍数据传输率,可采取什么措施?
解;
根据题目给定的数据,该总线的最短传输周期为
T=4/(50 MHz)=4×20×10-9s=80×10-9s
对于外部总线为16位的处理器,最大数据传输率为
2 B/T=2 B/(80×10⁻⁹s)=25×10⁶Bps
若想提高一倍数据传输率,可采用以下两种措施。
①外部数据总线宽度改为32位,CPU时钟频率仍为50 MHz,则数据传输率为
4 B/T=4 B/(80×10⁻⁹s)=50×10⁶Bps
②时钟频率加倍至100 MHz,外部数据总线宽度仍为16位,则数据总线的传输周期为
T'=4/(100 MHz)=40×10⁻⁹s
数据传输率为
2 B/T'=2 B/(40×10⁻⁹s)=50×10⁶Bps
若既增加数据总线位数,又提高时钟频率,将有更好的效果。
4. 设某机有6个中断源,优先顺序按0-1-2-3-4-5降序排列。
(1)若在某用户程序的运行过程中,依次发生了3、2、1级中断级请求,试画出 CPU的程序运行轨迹。
(2)若在3、2、1级中断请求发生之前,用改变屏蔽字的方法,将优先级的顺序 从高到低改为0-5-3-4-1-2。试在与(1)相同的请求顺序和请求时间的情况下,画 出CPU程序的运行轨迹。
解;
- 依次发生3、2、1级中断请求的CPU程序运行轨迹示意如下图所示。
(2)改变了优先处理顺序后,在与(1)相同的请求顺序和请求时间的情况下,若3程序较长,2、1提出请求均在3程序的执行时间内,则CPU程序的运行轨迹示意如下图所示。
若3程序较短,2的请求发生在3程序的执行时间内,1的请求发生在3程序执行结束后,则CPU程序的运行轨迹示意如下图所示。
5. 设某机有4个中断源A、B、C、D,其硬件排队优先需按A-B-C-D降序排列, 各中断源的服务程序中所对应的屏蔽字如表6-3所示。
(1)给出上述4个中断源的中断处理次序。
(2)若4个中断源同时提出中断请求,画出CPU执行程序的轨迹。
解;
(1)中断屏蔽字“1”表示不可被中断,“0”表示可被中断。根据表中“1”的个数的降序排列可知,4个中断源的处理次序是3→1→4→2。
(2)当4个中断源同时有中断请求时,由于硬件排队的优先次序是1→2→3→4,故CPU先响应1的请求,执行1的服务程序。该程序中设置了屏蔽字1101,故开中断指令后转去执行3服务程序,且3服务程序执行结束后又回到了1服务程序。1服务程序结束后,CPU还有2、4两个中断源请求未响应。由于2的响应优先级高于4,故CPU先响应2的请求,执行2服务程序。在2服务程序中由于设置了屏蔽字0100,意味着1、3、4可中断2服务程序。而1、3的请求已经结束,因此在开中断指令之后转去执行4服务程序,4服务程序执行结束后又回到2服务程序的断点处,继续执行2服务程序,直至该程序执行结束。CPU执行程序的轨迹如下图所示。
6. 一个DMA接口可采用周期窃取方式把字符传送到存储器,它支持的最 大批量为400个字节。若存取周期为0.2μs,每处理一次中断需5μs,现有的字 符设备的传输率为9600bit/s。假设字符之间的传输是无间隙的,试问DMA方 式每秒因数据传输占用处理器多少时间?如果完全采用中断方式,又需占处理 器多少时间?
解;
根据字符设备的传输率为9600bit/s,得每秒能传输: 9600/8=1200B,即1200个字符(本题中字符、字节不加以区分)
1)若采用DMA方式,传输1200个字符共需1200个存取周期,考虑到每传400个字符需中断处理一次,因此DMA方式每秒因数据传输占用处理器的时间是: 0.2μs×1200+5μs×(1200/400)=255μs
2)若采用中断方式,每秒因数据传输占用处理器的时间是: 5μs×1200=6000μs
7. 一个计算机系统有3个I/O通道:
(1)字节多路通道,带有数据传输率为1.2KBps的CRT终端5台,传输率为 7.5KBps的打印机2台。
(2)选择通道,带有传输率为1000KBps的光盘1台,同时带传输率为800 KBps的磁盘1台。
(3)成组多路通道,带有传输率为800KBps和600KBps的磁盘各1台。 请问该通道总的最大数据传输率为多少?
解;
为了保证通道不丢失数据,各种通道实际流量应该不大于通道的最大流量。系统的最大数据传输率等于所有通道最大通道传输率之和。
字节多路通道的最大数据传输率是通道上所有设备的数据传输率之和,即字节多路通道传输率=(1.2×5+7.5×2)KB/s=21KB/s
因为选择通道中磁盘的传输率大于光盘,所以此类型通道的通道传输率为max{1000KB/s, 800KB/s}=1000KB/s
数组多路通道中的通道传输率=max{800KB/s, 600KB/s}=800KB/s。
计算机系统最大I/O数据传输率=字节多路通道传输率+选择通道传输率+数组多路通道传输率=(21+1000+800)KB/s=1821KB/s。
关注微信公众号,回复“计算机组成”获取答案的word文档下载