初期のPCでは必須だったのに、今では存在しないコネクターとI/Fの代表例がキーボードで、これにマウスが続く格好だろうか。もっともこれアーキテクチャーによっていろいろ違うのだが、今回はIBM-PC系列の話である(Macintoshはまた異なるし、日本のPC-98シリーズもいろいろ異なる)。
DINコネクターを採用した
IBM-PC標準装備のキーボード
初代のIBM-PC(IBM Model 5150)の場合、ユーザー入力デバイスはキーボードのみだった。まだマウスはこの時点で世間的には普及していない("Mouse"と名付けられたデバイスそのものは1965年に、Douglas Engelbart博士によって発明されている)が、これがPCの世界に入ってきたのは1985年にMicrosoftが初代のMicrosoft Mouseを発売してからだったと記憶している。
というわけで最初のIBM-PCにはキーボードのみが標準装備であった。当時のことなのでMS-DOSの上で動くアプリケーションだけだったので、そもそもマウスの必要性がなかった、という話でもあるが。
話を戻そう。初代のIBM-PCの場合、本体背面に5ピンのDINコネクターの形でキーボード端子が用意された。
DINコネクターの直径は15mmほどで、今の感覚ではかなり大きいのだが、当時からすればごく普通の大きさだった。5ピンの信号の内訳は最初の画像の下にあるように、ClockとData、それと+5VとGNDである。Keyboard Resetはなぜでこれを設けたのかわからないが結局使い道がなかったようでIBM-PC/XTからは廃され、ただのNC(No Contact)になっている。
さてそのキーボード、下の写真が全体の構成である。右下の赤枠で囲った部分がキーボードの制御部で、マザーボードの側にはKeyboard Logicが廃され、そこからキーボードのケーブル経由でキーボードと接続される。
そのKeyboard Logicが下の画像だ。Pin 1、つまりキーボードクロックはシステム全体のクロック信号(PCLK)につながっており、これを利用してデータの送受信を行なう。
右上にある74LS322(8bit Shift Register)はPin 2(キーボードデータ)から1bit単位でキーボードの押下データを受け取り、これを8bitに変換してi8255(PPI:Programmable Peripheral Interface)に送り出す。
i8255はi8080に合わせて投入されたCPUの周辺チップで、最大24本の外部入出力端子を持つ。このうち8bitをキーボードに割り当てているわけだ(別にキーボードだけに割り当てているわけではなく、他の周辺機器と共用だが)。
では一方キーボードの側は? というと、下の画像のようになっている。i8048というマイコンがキーボードマトリックスに接続され、ここで検知したキーボードの押下を元に、Dataoutピン(下の画像右下、i8048の17番ピン)からキーボードコードをシリアルの形で送り出している格好だ。
通信プロトコルそのものは、非常に単純なシリアルである。2 Start bit/1 Stop bit/No Parityで、データ8bitなので、1回の転送は11bitとなる。要するにRS-232-Cに近いのだが、違いはリファレンスクロックがあることだ。
RS-232-Cは連載758回でも説明したように、送信側と受信側で同じ送受信速度になるように調整したうえで、Start Bitを使ってタイミングを検出して同期を取る格好だが、キーボードではDataと同時に送られるClock信号の立ち下がりに合わせて送受信を行う形なので、はるかに同期が容易になる。方式としてはI2CとかSPIなどと呼ばれるものと一緒の仕組みである。
ちなみに上の画像は最初のIBM-PCのキーボード、つまり俗に83-keyと呼ばれるタイプの回路であるが、内部構造そのものはキーボードのモデルによってけっこう違いがある。のちにIBM-PC/ATの頃に出て来た101-Keyの回路が下の画像で、コントローラーそのものがMotorolaのMC6805に替わっている。
ただコントローラーになにを使おうが、要は11bitの同期式の通信をサポートしていれば問題なくキーボードとして利用できるわけで、これがその後のPC互換機のキーボードの標準になった。
なお一部のキーボードはケーブルが完全に着脱式になっており、この場合キーボード側にはAMPコネクターが使われていたが、これはあまり普及しなかった。
このキーボードI/F、IBM-PC/ATの登場で若干変更がある。具体的には以下が相違点となる。
- 通信方式が1 Start bit/1 Stop bit/Odd Parityになった
- 双方向通信になり、PCからキーボードへのコマンド送出(Keyboard Command)をサポートした
前者は純粋に通信方式の変更であり、IBM-PC/XTまでとIBM-PC/AT以降では通信の互換性がない。そこで過渡期にはこの2つの通信方式を切り替えるスイッチを設けたキーボードが出回った。後者も重要で、IBMの84-Key以降はキーボードの右上にCAPS/Scroll/NumLockを示す3つのLEDが追加されている。
この3つのLEDのOn/OffはPC側が制御するため、PCからキーボードに対してLEDのOn/Offを支持するコマンドを送れるようにしたわけだ。違いはそれだけであって、5pinのDINコネクターもそのまま引き継がれ、AT互換機もやはり5pinのDINコネクターを装備した。
この連載の記事
-
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ