入出力ポート

コンピュータ入出力ポート:その歴史と仕組み



コンピュータが外部機器と情報をやり取りするための重要なインターフェース、それが入出力ポート(I/Oポート)です。この記事では、I/Oポートの基礎から、その歴史的な変遷、そして現代のコンピュータシステムにおける役割までを分かりやすく解説します。

I/Oポートの基礎



I/Oポートは、コンピュータ内部と外部機器を接続する端子のことで、デジタル信号の送受信を担います。 0と1のデジタル信号を入力したり出力したりすることで、LEDの点灯制御やスイッチからの入力取得など、様々な用途に使用されます。多くの場合、入力と出力を両方行える設計になっており、レジスタの設定で切り替えることができます。

初期のI/Oポートは、8本の端子で構成されるパラレルI/Oとして知られ、LEDやスイッチ、リレーなどの制御に用いられていました。代表的な例として、i8255 (PPI)、Z84C20 (Z80PIO)、MC6821などが挙げられます。これらのペリフェラルLSIは、現在ではチップセットやマイクロコントローラに内蔵されることが一般的です。マイクロコントローラでは、汎用入出力ポート(GPIO)とも呼ばれ、プルアップ/プルダウン抵抗の設定や出力ドライバの強弱調整なども可能です。計測や制御分野では、デジタルI/O(DIO)と呼ばれることもあります。

外部接続コネクタ:様々な規格と進化



外部機器と接続するためのコネクタもI/Oポートの一種です。パーソナルコンピュータでは、RS-232Cシリアルポートパラレルポート、USB、IEEE 1394(FireWire)、PS/2コネクタ|PS_2コネクタ、VGA、DVIなどが広く用いられてきました。これらのコネクタは、それぞれ異なる規格とピン配置を持ち、接続する機器の種類によって適切なコネクタが選択されます。

I/Oカード:拡張性の歴史



かつては、シリアルポートパラレルポートといった機能を拡張するためにI/Oカードが使用されていました。単機能のI/Oカードは、特定のインターフェースに対応するものでした。例えば、シリアルインターフェースカード、パラレルインターフェースカード、フロッピーディスクコントローラカード、IDEハードディスクコントローラカードなどがあります。

マルチI/Oカードは、複数のインターフェース機能を1枚のカードに統合したものです。マザーボードに搭載するI/O機能が少ない時代には必須でした。VLバスが登場した時代には、ハードディスクアクセスのパフォーマンス向上を目指したスーパーI/Oカードも登場しました。

オンボード化:マザーボードへの統合



近年では、I/O機能がマザーボードに直接実装される(オンボード化)のが一般的です。CPUやバスの規格が変わるごとにI/O機能を設計し直す必要性を解消するために、PCIバスなどの統一規格が採用されました。これにより、マザーボードメーカーやPCメーカーは、標準化されたインターフェース部品を利用できるようになり、設計と製造が容易になりました。

レガシーデバイスの衰退とUSBの台頭



1990年代後半以降、シリアルポートパラレルポートなどの従来のI/Oポートはレガシーデバイスとして扱われるようになり、USBに置き換えられてきました。現在では、キーボード、マウス、プリンターなどはUSBで直接接続するのが一般的です。ただし、従来のインターフェースを持つ機器をUSBで接続するための変換アダプタも広く利用されています。

I/O空間:メモリ空間との関係



多くのCPUアーキテクチャでは、I/Oポートはメインメモリとは別に、I/O空間と呼ばれる専用のアドレス空間を持っています。x86アーキテクチャでは、I/O空間はメモリ空間よりも小さく、アクセスできる命令も制限されています。I/O空間のアドレスはI/OアドレスまたはI/Oポートアドレスと呼ばれます。オペレーティングシステムは、保護機能を用いて、アプリケーションによるI/O空間へのアクセスを制御します。

一方、ARMやPowerPCなどのRISCアーキテクチャでは、I/O空間は存在せず、ペリフェラルのレジスタはメモリ空間に直接配置されます。これをメモリマップドI/Oと言います。PCIバスでは、I/O空間を持たないプロセッサでも、メモリ空間の一部をI/O空間として使用する事で対応しています。

まとめ



この記事では、コンピュータ入出力ポートについて、その歴史的な発展と、現代における役割を解説しました。I/Oポートは、コンピュータと外部機器を接続するための重要なインターフェースであり、これからも様々な技術革新と共に進化していくでしょう。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。