I/O控制方式

目录

 

一、程序查询方式

1.程序查询流程

2.程序查询接口结构

3.案例习题

四、优缺点

二、程序中断方式

1.中断的概念

2.流程图

3.案例习题

三、DMA方式

1.DMA传送过程

2.DMA与主存交换数据的三种方式

3. 与中断程序处理的区别

4.案例习题


 

一、程序查询方式

1.程序查询流程

  1. 测试指令:用来查询 I/O设备是否准备就绪
  2. 传送指令:当I/O设备已准备就绪,执行传送指令
  3. 转移指令:若I/O设备未准备就绪,执行转移指令,转至测试指令,继续执行I/O设备的状态。

2.程序查询接口结构

12d3fadd5e1e45c0b5978c3f49dc9c14.png

3.案例习题

d86a57a2477e406e9de43890588bec9f.png

解法一(时间角度)

1:由CPU的时钟频率为50MHz可得

一个时钟周期为1/50MHz=20ns

一个查询操作为20*100=2000ns

2:因为CPU每秒对鼠标查询30次

则查询鼠标的耗时为30*2000=60000ns

所以查询鼠标花费的比率为60000ns/1s=0.006%

结论:对鼠标的查询基本不影响CPU的性能

3:因为硬盘每32位被CPU查询一次,传输率为2*2的20次方B

则每秒需查询(2*2的20次方B)/32=2的19次方

则查询硬盘耗时为2的19次方*2000ns=512*1024*2000ns

所以查询硬盘所花费的时间比率为(512*1024*2000ns)/1s=105%

结论:CPU将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求

解法二(频率角度)

CPU的时钟频率为50MHz,即每秒50X 10的6次方个时钟周期

1)
每秒查询鼠标占用的时钟周期数 30 x 100 = 3000

查询鼠标所花费的时间比率 = 3000/(50 X 1 = 0.006%

2)
每秒需要查询(2X2B)/32 = 2的19次方

每秒查询硬盘占用的时钟周期数 2的19次方x 100 =5.24X10的7次方

查询硬盘所花费的时间比率 =(5.24X17 )/(50 X 10)=105%

四、优缺点

60d12a69606d43c495ae785124df513c.png

二、程序中断方式

1.中断的概念

计算机在执行程序的过程中,当出现异常情况或者特殊情况是,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序,称为“中断”。

2.流程图

efc93db58bb04a4da57d6088ec8ffab0.png

 中断隐指令:

关中断、保存断点(PC)、引出中断服务程序

CPU参与中断请求响应与中断服务程序

3.案例习题

35fe0c3709f94626bd7583f5d70876ce.png

6cf5575d9648460f8ab5b46a58d190ab.png

 其中CPI是指每条指令含有多少个时钟周期 

三、DMA方式

1.DMA传送过程

896563e821cf4d86b5b67af47220747d.png

注:在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU主存控制信号被禁止使用,而当DMA传送结束后,将恢复CPU的一切权利并开始执行操作。

2.DMA与主存交换数据的三种方式

0a65813e68ff4fafba316246bb4b6209.png

 

3. 与中断程序处理的区别

be126b42fc8d487395ef68d3dbf1b861.png

 

4.案例习题

6ffe633f6ac6417aade6a065b2c922a7.png

 888bce81c5014ba5a75386699698c20b.png

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几两春秋梦_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值