PS/2 与 USB 键盘:性能和能耗

Mis*_*ith 9 usb keyboard irq ps2-keyboard usb-keyboard

据我所知,PS/2 键盘是中断驱动的,而 USB 是轮询的。通常,在 Windows 上为 PS/2 键盘分配了 IRQ_1。

我不是硬件专家,但乍一看似乎 PS/2 键盘更高效。所以这里是我的问题:

  1. 在现代计算机上,PS/2 键盘是否更好(或更快),如果是这样,它是否会很明显?( ..:在游戏中)
  2. 既然不需要轮询,那么PS/2键盘比USB更省电吗?(请注意,我在这里不仅谈论外围设备,还谈论整体计算机能耗)。
  3. 如果 PS/2 比 USB 有任何优势,那么在我的 USB 键盘上添加 PS/2 适配器会使设备与实际的 PS/2 键盘一样好吗?相反,将 USB 适配器添加到 PS/2 会使其与 USB KB 一样糟糕吗?

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 来摆脱轮询,而是在键盘上提供 USB 3.0 集线器)。

我还试图找到有关 USB KB 轮询率的硬数据。有些人说 125 Hz,还有一些调整到 1 kHz。相比之下,像 PS3 这样的游戏机轮询频率为 100 Hz,而 XBox 则为 125 Hz。即使是 1 KHz,在 GHz CPU(0,000001 % CPU 周期/秒)上似乎也可以忽略不计。这些数字引出了另一个问题:出于游戏目的,PS/2 键盘每秒产生 1,000 次中断会更好吗(如果有的话)?

ali*_*gar 6

响应时间 PS/2 与 USB 键盘:

有许多有趣的结果,但与此问题相关的一点是键盘之间存在相当显着的差异,并且所有测试的 USB 键盘的有效扫描间隔(18.77 ms - 32.75 ms)都比 PS/2 长键盘(2.83 毫秒 - 10.88 毫秒)。

来自这个超级用户问题本身的更多信息:USB 或 PS/2 键盘响应速度更快吗?


将两台设备整体功耗之间的功耗: 引用HP文档

  • USB
    工作电压:+ 5VDC ± 5%
    功耗:最大 50 mA(三个 LED 亮起)

  • PS/2
    工作电压:+ 5 VDC ± 5% 功耗:最大 50 mA(三个 LED 亮起)


我的看法:

因此,最大可能的功耗为 +5 V,并且主板必须为 PS/2 端口考虑此功耗,而不管其实际功耗如何。而且我们知道 USB 确实为我们提供了 +5 V 的功率输出。实际耗电量因品牌而异。有人说它消耗50毫安,有人说它是70毫安,屋顶是100毫安。

到目前为止,我读过的任何内容都没有说明或显示超过 100 mA 的实际消耗。事实上,Windows 还报告了 70 mA 的实际所需功率。但是我的 MacBook 在 USB 上显示了 100 mA 的要求。所以USB键盘的实际功耗可能会比PS/2键盘高一点。我在下面附上几张图片。

在 Windows 上

视窗USB

在 MacBook 上

苹果机 USB


解释 #2 中更新的问题:

  • 好吧,只有一个 USB 控制器,但每个 USB 端口都是单独连接的。因此该协议使设备对每个端口都是独占的。

  • 每个连接到端口的 USB 设备都是单独连接的。当设备连接到端口时,端口会告诉我们连接的是哪个设备。这就像每个设备都有一个专用端口,并且控制器具有向处理器同时发送多个请求的总线能力。

  • 在我看来,PS/2 或 USB 键盘所消耗的电量/CPU 时间是相同的。如果 USB 键盘在处理和功率方面很重,人们就不会互换使用它们。我们还会阅读更多关于它们的技术文章!

  • 我个人的论点是,Apple 只在 Mac Minis 和 iMac 上为您提供 USB 端口,如果它如此耗电和处理密集型,Apple 会这样做吗?即使是大多数新的戴尔机器也没有 PS/2 端口(将所有组装和定制的硬件放在一边)。


Mar*_*rio 0

    \n
  1. 这是个人意见,但我不希望有任何明显的差异。这将更加依赖于键盘的硬件结构/质量(例如,它处理按键的速度有多快,它对您按下按键的反应有多快,等等)。中断会停止正在处理的其他事情,但程序或游戏仍然必须首先对其做出反应。这不像整个游戏逻辑都位于中断处理程序中。
  2. \n
  3. 我心里没有 PS/2 规范,但考虑到 USB 通常是 500\xc2\xa0mA 时的 5\xc2\xa0V,这将导致 2.5\xc2\xa0W。现在看看 CPU 和 GPU(尤其是在游戏 PC 上)可能单独消耗超过 250\xc2\xa0W,这感觉非常可以忽略不计。
  4. \n
  5. 当然不!即使有优势,您也会添加另一个步骤/阶段,这会通过将两种技术相继链接起来而消除整个优势。假设 USB 的反应时间为 0.1 秒,PS/2 的反应时间为 0.05 秒。如果使用适配器,您很可能会在 0.15 秒左右甚至更高。
  6. \n
\n

我假设你想提高你的反应时间或其他什么。如果您的问题确实只是理论上的,请忽略此问题。如果您想“优化”您的游戏体验,只需选择专为游戏设计的 USB 键盘即可。这些通常提供更一致的按键行为,并且可能具有其他功能(例如检测您按下的深度或时间,而不仅仅是按下/未按下)。我什至根本不会担心 PS/2,特别是考虑到当今硬件上的 PS/2 端口非常有限。您可能不希望在输入处理中赢得几毫秒,同时由于内存带宽较低或其他原因而损失更多时间。

\n

对于游戏来说,还有一些完全不同的考虑因素:当今台式电脑的典型刷新率为 60\xc2\xa0Hz。这意味着每秒 60\xc2\xa0 帧或每帧大约 16.67\xc2\xa0ms。这导致这样一个事实:即使您每秒轮询 1000\xc2\xa0 次,您也不会注意到任何更快的反应(与每秒 100\xc2\xa0 次相比)。当然,计算可能会更快(例如,以每秒 100、500 甚至 1000\xc2\xa0 帧的速度模拟游戏世界),但我仍然会说您根本不会注意到任何真正的差异。

\n