既然网卡从内存中并行接收数据,那么它是否通过链路进行串行传输?如果是,如何?
谢谢你。
既然网卡从内存中并行接收数据,那么它是否通过链路进行串行传输?如果是,如何?
谢谢你。
如果你仔细想想,你已经知道答案了。为了激励您,通过示例考虑光缆比考虑铜缆更容易。使用光缆时,一根芯线用于 Tx,一根芯线用于 Rx。仅此一项就足以回答您的问题,但是使用波分复用它会使水域变得混乱。
在回答您的问题时,通过以太网发送的所有信息都是串行发送的。任何类型的多路复用都是通过一个核心发送多个串行通信,并通过在不同波长的光上发送不同通道来完成。然而,来自终端设备(例如服务器)的光纤连接通常仅使用一个波长(例如 SX 的 850nM)通过线路串行发送所有数据。铜连接也是如此。对于高达 FastEthernet,需要 4 根电线,因为您有一对用于 TX,另一对用于 Rx,因为它们是电气平衡的。
铜线上的千兆以太网略有不同,因为信号是通过所谓的 4D-PAM5 调制的。这意味着在 5 个电压上有 4 个信号,一次发送 2 个比特,但是这仍然被归类为串行传输,只是信息密度更高。 http://www.hardwaresecrets.com/how-gigabit-ethernet-works/
许多人掩盖这些东西的原因是,如果您真正查看真实细节而不是过于简化的模型,那将是一个巨大的兔子洞。
首先,以太网不仅仅是一种类型的接口,而是整个系列的接口,其中最快的变体比最慢的变体快一万倍。
其次,许多现代接口不能很好地适应传统的并行或串行模型。许多现代接口使用多通道安排,其中多个连接并行传输数据,但每个“通道”都有单独管理的位定时,接收器添加小延迟以弥补定时偏差并使数据恢复同步。
通常,帧首先从主存储器传输到介质访问控制器中的缓冲区。使用的接口取决于应用,片上 MAC 可能使用并行接口。旧的片外 MAC 也使用并行接口,但现在越来越多地使用串行接口。10 Gb 和更快的接口通常使用多通道 PCIe,它实际上既不是传统的并行接口,也不是传统的串行接口。
MAC 内部的缓冲区需要将以太网接口上的时序与主机接口上的时序分离。
MAC 决定何时传输帧(如果需要,使用 CSMA/CD)并以线速将其传输到 PHY。对于 100 兆位和 1 吉位系统,MAC 到 PHY 接口通常是窄(2-8 位)并行接口,但有时也使用串行接口。对于 10 吉比特和 25 吉比特,我相信通常使用快速 LVDS 串行接口。对于更高的速度,我相信使用由快速 LVDS 串行链接构建的多通道接口。
phy 从 MAC 获取数据并为线路重新编码。10BASE-T 使用曼彻斯特编码。100base-TX 首先通过 4B5B 编码过程传递数据。然后使用“MLT-3”进一步编码以降低有效频率。1000BASE-T 使用多对并行,使用多级编码方案在同一对上同时发送多个比特,并使用回声和串扰消除技术在两个方向同时使用所有四个对。
在光纤上以高达 25 Gb 的速度在单个波长上串行发送数据。在更高的速度下,使用多通道方法将数据通道发送到多个单独的光纤或在同一光纤中的多个波长上发送。
串行与并行信息传输
并行信息传输
并行传输对数据和程序使用多个“通道”,为了与计算机信息的 8 位 = 1 字节性质保持一致,大多数并行传输使用 8 的倍数。并行传输发生在以下设备之间:
- CPU和内存
- CPU 和接口卡(见第 8 章)
- LPT(打印机)端口和并行打印机
- SCSI 端口和 SCSI 设备
- ATA/IDE 主机适配器和 ATA/IDE 驱动器
- RAM 和接口卡(通过 CPU 或直接使用 DMA)
串行传输
串行传输使用计算机中的单个“通道”进行信息传输。这听起来像是减速的秘诀,但这完全取决于“数据高速公路”上的速度限制有多快。
计算机中的以下端口和设备使用串行传输:
- 串行(也称为 RS-232 或 COM)端口和设备
- USB(通用串行总线)1.1 和 2.0 端口和设备
- 调制解调器(可以是内部设备,也可以连接到串行或 USB 端口)
- IEEE-1394(FireWire、i.Link)端口和设备
- 串行 ATA (SATA) 主机适配器和驱动器