关于CPU操作和I / O处理

时间:2016-11-10 13:25:04

标签: operating-system

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

如果有人能够回答这个问题,那就太棒了。 :d

1 个答案:

答案 0 :(得分:2)

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

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

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

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

这也是当您的主内存已满并且CPU必须频繁寻呼到磁盘时,您的计算机变得无法响应的原因。除非已将所需数据从磁盘检索到主内存中,否则您的CPU无法执行任何有用的任务,因此它必须坐下来等待IO完成。