我在学习LC3,但有一些问题我不能清楚地理解
如果程序没有比等待设备更好的事情可做,轮询是与设备交互的合理方式。
在简单的系统上可能就是这种情况,有些嵌入式系统就是这样工作的。
然而,随着系统工作量的增加,轮询可能对设备和/或程序的响应不足,因此其他方法的性能更好。
中断是轮询的替代方案。中断机制支持硬件和软件中的优先级。
当I/O设备同时/同时准备就绪时,硬件将根据设备速度有效地对设备进行优先级排序。这意味着快速设备可以迅速引起CPU的注意,以响应准备好的数据。
当CPU正在为低优先级设备提供服务,而具有中断的高优先级设备准备就绪时,软件可以分层,以允许高优先级设备中断当前可能正在服务的低优先级(较慢(设备。
当许多程序争夺CPU时,中断也能很好地工作。
总之,设备越多,程序越多,轮询的性能就越差,可能会减慢系统速度,甚至丢失设备中的数据。中断如果分层得当,可以缓解这些问题。