0
A
回答
1
与CPU的工作频率相比,I/O通常非常慢。
假设您有一个1GHz的CPU,能够在每个时钟周期执行一条指令。这意味着CPU能够每纳秒执行一条指令。
现在让我们假设你想从你的硬盘获取一些数据。磁盘操作通常以毫秒为单位进行,我们假定您的驱动器速度足够快,仅需1ms即可获取数据。
如果CPU只是坐在一旁等待磁盘读取数据,CPU将浪费100万毫微秒,而它可能会执行另一个任务的一百万条指令。当一个程序有很多IO访问时,如果让CPU等待并且什么都不做,那么这些浪费的周期会堆积起来并变得很明显。这就是为什么将计算与IO重叠,这样不会浪费CPU周期。
这也是为什么当您的主内存已满时,您的计算机会变得超级无响应,并且CPU必须频繁地将页面分页到磁盘。你的CPU不能执行任何有用的任务,除非它需要的数据已经从磁盘检索到主存储器中,所以它必须坐下来等待IO完成。
相关问题
- 1. 处理IO操作
- 2. 处理cpu绑定操作
- 3. 关于操作系统和CPU的中断
- 4. 异常处理和IO
- 5. Python CPU和操作系统
- 6. 在Haskell处理IO操作时遇到困难
- 7. perl用于处理字符串的IO事件处理程序
- 8. 如何处理并行性环境中同时绑定的IO和CPU?
- 9. 关于xsl处理
- 10. 使用IO()操作,但返回IO X
- 11. MongoDB和批处理脚本操作
- 12. 的PHP - 图像处理和操作
- 13. 嘲笑IO操作:getArgs和putStrLn
- 14. 如何处理IO(Maybe(IO(Maybe t)))type?
- 15. 如何处理基于CPU的限制的多处理
- 16. C程序对CPU和操作系统的依赖关系
- 17. 关于AJAX,PHP和处理表格
- 18. 关于Netty和并发处理程序
- 19. Symfony批处理操作
- 20. java.sequence处理操作符?
- 21. 处理前确认操作!
- 22. 可可:操作处理
- 23. 处理/ .NET互操作?
- 24. 处理大型操作Swift
- 25. 独立的CPU和IO时间
- 26. 如何查找CPU和IO时间?
- 27. Telnet基本IO操作
- 28. Linux IO操作符'>'
- 29. Apple Swift文件IO操作
- 30. 缩短代码处理IO
“CPU操作与I/O处理重叠”是什么意思?你能否澄清,也许举一些例子? –
来自CPU pov的IO操作类似于“在此处写入,现在继续读取直到有点翻转”或“在此写入,现在执行其他操作直到中断产生”。正如你所看到的,有足够的空间做有用的事情,而不是连续阅读等待中断无所事事。 –