入出力インターフェース・バス — USB/PCIe/SATA/NVMe・DMA

USB/PCIe/SATA/NVMe の用途と転送速度、DMA・割込み駆動とポーリングの違いを整理。

I/O インターフェースは AP 科目Aで頻出。各規格の用途と転送速度のオーダーを覚えれば点数源です。

鳴海 理央(普段) 鳴海 理央

主要な I/O インターフェース: USB (汎用周辺機器)・PCIe (内部高速バス)・SATA (ストレージ)・NVMe (高速 SSD)・Thunderbolt (高速汎用)・HDMI/DisplayPort (映像)。

砂原 ニコ(普段) 砂原 ニコ

PCIeって何がいいの?

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

PCIe (PCI Express) は CPU 直結の高速シリアルバスで、レーン数 (x1〜x16) と世代 (Gen3/4/5) で速度が決まる。
Gen4 x16 で 32GB/s 程度。
GPU や NVMe SSD で多用するわ。

藤咲 まりあ(普段) 藤咲 まりあ

NVMeってSATAより速いんですかぁ?

鳴海 理央(普段) 鳴海 理央

はい、桁違いに速いんです。
SATA IIIは6Gbps (= 600MB/s) ですが、NVMe (PCIe Gen4 x4) は7000MB/s程度。
OS起動時間やビルド時間が大幅に短縮されます。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

USB はバージョンと転送速度をセットで: USB 2.0 = 480Mbps、USB 3.0 = 5Gbps、USB 3.1 Gen2 = 10Gbps、USB4 = 40Gbps。
Type-C コネクタの普及で USB-PD (給電) も重要に。

砂原 ニコ(普段) 砂原 ニコ

他にも覚えとくべきものってある?

鳴海 理央(普段) 鳴海 理央

DMA (Direct Memory Access) は、CPUを介さず周辺機器とメモリ間で直接データ転送する仕組みです。
CPU負荷を下げる用途で使われます。
割込み駆動とポーリングの違いも頻出ですよ。

確認クイズ

DMA (Direct Memory Access) の主な目的として、最も適切なものはどれか。

  1. CPU の処理速度を上げる
  2. 周辺機器とメモリ間のデータ転送を CPU を介さず直接行い、CPU 負荷を下げる
  3. メモリ容量を増やす
  4. ストレージの暗号化を行う
こたえを見る

正解: 2. 周辺機器とメモリ間のデータ転送を CPU を介さず直接行い、CPU 負荷を下げる

DMA は CPU を介さずに I/O 機器とメインメモリ間で直接データ転送する仕組み。大量データ転送中も CPU は他の処理が可能になり、システム全体のスループットが向上。HDD・NIC・GPU 等で使われます。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。