LemonKaju.net
右の絵はBitakyさんが描いてくださいました!

なぜキーボードはUSB接続よりPS/2接続が良いか

以下引用で出てくる「割り込み」と「ポーリング」の違いについて、
割り込みとポーリング | ユークエスト株式会社がおすすめです。

USB(HID)の無駄な処理や問題点

古いPC・マザーボードだとBIOS設定画面で認識しない場合があります。

PS/2接続やノートPC内蔵のキーボードでは、
キー入力があったら信号にして送る単純な仕組みですが、
USB接続のキーボード(HID)では、
キー入力の有無に関わらず毎秒125回通信しています。
ゲーム向けで毎秒1000回通信して遅延を抑える物もありますが、
マウスじゃないしPS/2で良いと思います。

(もちろんSteelSeries Apex Pro等の上位USBキーボードは、
下で紹介するハンデを負っているにも関わらず、
スイッチの高精度さに力を入れているため別格ですが、
209.99ドル・国内実売2万5千円の高級品になります。)

USB(HID)は割り込み要求出来ない

USB/データ転送方式 - SyncHackから引用

Interrupt 転送

Interrupt 転送という名称より、
USB には割り込み信号があってそれを利用すると勘違いされ気味ですが、
違います。

Interrupt 転送では予め USB 機器をポーリングする期間を指定し、
Host からマネージメントしてもらう方式を取っています。
例えば 10ms に一回は情報を取りに来るよう指定した場合、
Host は 10ms 以内にデータが用意されていないかどうか機器に対して問い合わせます。
機器はその問い合わせに対して返答することであたかも「割り込み(Interrupt)」が掛かったように見せかけます。

PS/2接続やノートPC内蔵のキーボードは 割り込み要求(IRQ1)の割り当てがある

割り込み (コンピュータ) - Wikipediaから引用

CPU資源の有効利用

周辺機器の速度はCPUの処理速度より格段に遅いため、周辺機器が処理を行っている間、CPUが他の処理を行ったほうが効率がよい。
その場合、周辺機器の処理の終了をCPU側から定期的にチェックする(ポーリングと呼ぶ)のは、他の処理の効率を落とすため望ましくない。
このため、周辺機器の側から割り込みによって処理の終了を通知する方法がとられる。

応答性の向上

キーボード、マウスなどのユーザインターフェースは入力の遅延や入力漏れが致命的な欠陥になる。
この場合は割り込みを使ってユーザからの入力を確実に処理する必要がある。
コンピュータがフリーズした場合でもマウスカーソルの移動だけが反応することがあるが、
これは割り込み処理だけが機能していることになる。

「PS/2接続・ノートPC内蔵」と「USB接続」の比較図

Are USB keyboards less responsive due to narrow IRQ range? - Super Userから引用

迷ったらPS/2接続!

1万円台までの低予算で、どうしてもUSB接続キーボードじゃないといけない理由がない限りは、
PS/2接続キーボードにしましょう。

716円 サンワサプライ SKB-L1BK
普通の日本語キーボード
2,303円 BUFFALO BSKBCG305BK
打鍵の操作性と耐久性があるキーボードの中でも破格な安さ
11,297円 FILCO Majestouch 2 FKBN108MRL/JB2
赤軸メカニカルキーボード
15,879円 FILCO Majestouch 2SS Edition FKBN108MSS/NCSP2B
銀軸メカニカルキーボード

(2021年時点)


れもん果汁.net