私は主に組み込みソフトウェアのバックグラウンドから来ているため、ハードウェア全般に関する知識は非常に限られています。イーサネットは、イーサネットケーブルを接続するコンピューター上の小さな物理コネクタとして常に考えています。また、ソフトウェアの観点からする必要があるのは、ドライバーをインストールするか(Windowsで)、Linuxカーネルを構成してイーサネット用のドライバーを含めるだけです。
質問:
しかし、ハードウェアに向かって1レベル下がってさまざまなデータシートと回路図を見ると、PHY、MII、SGMII、RGMIIなどの用語に出会うようになりました。イーサネット?たとえば、Intel 82574L 1.0 Gbpsイーサネットポートと言うとき、これらすべての用語はどこに当てはまりますか?
説明しよう:
(1)MII、SGMII、RGMIIは、MACチップとPHYチップ間の3種類のインターフェースです。 Intel 82574Lは1つのMACチップです。次の図を見てください:
_______ __________ ___________
CPU | PCI-E | | MII/SGMII/RGMII | |
or |<=======>| MAC |<================>| PHY |<==========>physical interface
board| or else | | | |
________ __________ ___________
MII(100Mbps)、SGMII(1Gbps、シリアル)、RGMII(1Gbps、削減)の定義の詳細については、グーグルで検索できます。
(2)基本的に、NIC(Network Interface Card)は1つのMACチップと関連するPHYチップ、およびその他の周辺モジュールで構成されます。また、1つのイーサネットデバイスドライバーはNICハードウェアで動作するはずです。MACチップには、PCI-Eバスなどの制御CPUまたはPCメインボードとのインターフェイスが1つあります。
いくつかの定義:
MIIはかなり前に標準化され、100Mbit /秒の速度をサポートしています。より少ないピンを使用するバージョン、RMII(縮小の場合は 'R')も利用できます。
ギガビット速度の場合、GMII(ギガビットの場合は「G」)インターフェースが使用され、RGMIIと呼ばれるピンカウントの少ないバージョンが使用されます。 SGMIIと呼ばれる非常に削減されたピンカウントバージョンも利用できます(シリアルの場合は 'S')。これは、MACのIOピンの特別な機能を必要としますが、他のxMIIは比較的従来のロジック信号です。
他の状況で使用されるインターフェイスにはさらに多くの種類があり、それらはウィキペディアのMIIページからリンクされている場合があります。
http://en.wikipedia.org/wiki/Media_Independent_Interface
特定のIntelチップの質問について-私が知る限り(データシートのリンクは死んでいるようです)、そのチップはMACであり、PCIeです。そのため、ホスト上のPCIeバスとある種のギガビット物理層(PHY)の間に配置されます。
「OSIの7つの層」という用語を探したいと思うかもしれません。
**イーサネットPHYは、通信の文字通り物理的なコンポーネントで構成される物理層に対応します。
**イーサネットMAC(MACアドレスではなく、Media-Access Controller)は、データリンク層に対応します。データリンク層は、物理層にフレームを送信する前にフレームを配置する役割を果たします。
MII、RMII、Auto-Negotionなどの構成は、これら2つから構成されます。そして、生活を楽にするライブラリがあります。
**ネットワーク層は、パケットのルーティングを担当します。 IPやDHCPなどのプロトコルは、この層にあると見なされます。また、この層は、ソフトウェアベースのみの最初の最下層です。たとえば、軽量IPを使用している場合、ip&netifライブラリが他のすべての基盤になります。
**トランスポート層は、TCP&UDPのような伝送プロトコルがあります。
うまくいけば、上の層についてはあまり知りません。