计算机考研408-I/O方式大题答题流程

本文详细介绍了三种I/O处理方式:程序查询、中断和DMA。程序查询方式中,CPU定时查询缓冲区数据;中断方式下,设备在缓冲区满时通知CPU;DMA方式则允许设备直接与内存交换数据,减少CPU干预。通过计算中断频率、DMA中断开销等,可以分析I/O对CPU时间的影响。

I/O方式大题

一 程序查询流程

  1. 程序运行scanf代码,此时发生系统调用,操作系统等待来自键盘的字符

  2. 程序查询方式不断轮询查看是否有字符输入(注意:不会一直占用处理机导致系统死机,参考并发概念,仅在分配的时间片内轮询)

  3. 通过键盘设备经过usb向I/O接口输入字符,(此处出现数据的输入输出速率),输入的字符会被放入缓冲区(题目会告知缓冲区大小)

  4. cpu应当取走缓冲区内的数据去进行处理

​ cpu不应当取的太慢,这是由于缓冲区的大小是有限的,如果太慢会导致还没取出的数据被新传输的数据所覆盖。

​ 但也不该太快,所以最好是缓冲区刚满,cpu就取出缓冲区内的数据

综上可知,cpu轮询的频率(cpu定时查询的频率) = 输入输出数据的速率/缓冲区大小

  1. 若题目给出输入输出至少执行x条指令,那么便可以得到

    传输满一次缓冲区所需要的时间 = 缓冲区大小/输入输出数据的速率 = cpu轮询频率的倒数

    每秒查询次数 = 1s/传输满一次缓冲区所需要的时间

    设备输入输出的时间占cpu总时间的百分比 =(CPI * x * 每秒查询次数)/ 计算机主频

注意:输入输出速率是设备和缓冲区之间的,而轮询频率是cpu和缓冲区之间的。

二 中断I/O流程

  1. 设备向I/O接口输入数据(此处题目一般会给出数据输入输出速率)

  2. 同样当数据充满缓冲区时,此时中断源向cpu发出中断请求告知cpu缓冲区已经满了,需要它来处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值