关于CPU操作和I/O处理



我的问题是为什么我们想让CPU的操作与I/O处理的操作重叠。我一直在考虑优化等问题,但尚未得出结论。

如果有人能回答这个问题,那就太好了。: D

与CPU的工作频率相比,I/O通常非常慢。

假设您有一个1GHz的CPU,能够在每个时钟周期执行一条指令。这意味着CPU可以每纳秒执行一条指令。

现在让我们假设您想从硬盘驱动器中获取一些数据。磁盘操作通常以毫秒为单位进行,我们假设您的驱动器足够快,可以在1ms内获取数据。

如果CPU只是坐在那里等待磁盘获取数据,CPU将浪费100万纳秒什么都不做,而它可以为另一个任务执行100万条指令。当一个程序有很多IO访问时,如果让CPU等待而不做任何事情,这些浪费的周期就会堆积起来,变得很明显。这就是为什么将计算与IO重叠是一个好主意,这样就不会浪费CPU周期。

这也是为什么当你的主存满时,你的计算机变得超级无响应,CPU不得不频繁地调页到磁盘。你的CPU不能执行任何有用的任务,除非它需要的数据已经从磁盘检索到主存,所以它必须坐在那里等待IOs完成。

最新更新