IRQL_NOT_LESS_OR_EQUAL 究竟是什么?什么是IRQL?什么东西使用IRQL?为什么需要小于或等于?什么会导致它不小于或等于?为什么操作系统不能从它不小于或等于中恢复?IRQL 只影响 Windows 吗?
这个错误似乎很常见。我不是在寻求帮助,我是在寻求解释。
这是我刚刚想到的一个声明。谁能告诉我这是否是真的,为什么是真的?
声明: 由于 USB 键盘依赖于只能访问较低 IRQ 级别的 USB 通用驱动程序和体系结构,因此它不能像另一个(例如 PS2)控制器那样让键盘访问 IRQ 的优先级高。
这(如果是真的)是否意味着 USB 键盘的优先级(在可用性方面而不是速度方面)低于插入其他端口类型(如 PS2)的键盘?
以映射到中等优先级 IRQ 的 USB 键盘为例,在卡在另一个中等优先级中断例程的故障系统上。由于其相对平等的优先级,键盘事件将被忽略,您将无法发送 Ctrl-Alt-del 或任何其他紧急击键。如果键盘具有更高的优先级,则系统可以进入击键中断例程。
或者 USB 控制器是否有足够的 IRQ 范围(无论是否连续优先)来为您的键盘提供所需的优先级(基本上就在电源故障以下)?
那么通过网络连接映射到远程桌面会话的虚拟键盘呢?
编辑:我的问题与速度无关(请参阅评论):主要问题是:PS2 键盘是否有更多机会与卡在某个中断优先级高于 USB 且低于键盘的 CPU 通话?
据我所知,PS/2 键盘是中断驱动的,而 USB 是轮询的。通常,在 Windows 上为 PS/2 键盘分配了 IRQ_1。
我不是硬件专家,但乍一看似乎 PS/2 键盘更高效。所以这里是我的问题:
USB 需要主动轮询。因此,CPU 必须将其某些周期专用于扫描按键,这意味着可用于其他任务的周期数较少。这会导致 CPU 频率上升,因此功耗会更高。一个有趣的案例:假设我们将两台相同的计算机并排放置,一台使用 PS/2 键盘,另一台使用相同型号的 USB 键盘,我们将它们打开一整天。如果我们白天只按一个键,PS/2 键盘所需的 CPU 时间比 USB 键盘低得多。因此,在具有极端动态频率缩放的 CPU 中,USB 键盘总体上需要更多功率。另外,USB协议需要管理多个设备,
这些是我在 #2 中提出的考虑因素,考虑到整个 PC,而不仅仅是键盘从 5 V 输入中吸收了多少。
看来轮询的东西只能到USB 2.0,根据维基百科,USB 3.0摆脱了轮询:
提高总线利用率 - 添加了一项新功能(使用数据包 NRDY 和 ERDY),让设备异步通知主机其准备就绪(无需轮询)
(到目前为止,USB 3.0 键盘很少见。我只知道今年在COMPUTEX 上展示的技嘉键盘,我怀疑它使用 USB 3.0 …