USB设备无法以与其他硬件中断相同的方式"中断"其主机控制器.USB确实支持中断传输方法,但实际上这是通过轮询1实现的,并且可以实现的延迟大约是1 ms,但最终受到主机性能的限制.
您询问
为什么USB轮询机制而不是中断来检测设备?
嗯,一个原因是USB协议根本不支持通常硬件意义上的中断,最有可能使协议更简单.例如,如果设备想要解释正在进行的传输,则必须通过破坏现有传输或者必须将额外信号线添加到整个系统来以某种方式发出信号.对于大多数类型的设备,快速轮询硬件中的总线足够快.
请注意,检测新设备会使建议轮询的所有三个点都失败.实际上,我们永远不知道何时期望新的USB设备出现在总线上(#1),它很少发生(#3),并且在设备未激活时立即检测到它不是优先级(#2).为什么浪费时间和精力检查不太可能发生的事件?