M.2,PCIE,SATA,NVME,AHCI及区别和联系
关系图
需要注意的是上图中:pcie,sata既是总线,其实也是接口(所以下部的接口图中,其实是少了pcie的,借用别人的图,意思大致理解就行)
M.2,U.2,AIC,Half slim,mSATA,2.5in等这些指的是SSD形态(尺寸),是根据不同的应用场景进行设计。
PCIe,SATA和SAS指的是SSD接口的形态,即数据传输通路,接口不同传输速率不同,即每秒能传输的数据量不同。
NVMe,AHCI是应用于数据传输通路上的协议。其中由于NVMe协议允许多队列,并且队列深度高,可以同时并行在多个数据传输通路上进行数据传输,可以更好地利用PCIe多通道的性能。AHCI只允许单队列,并且队列深度低,一次只能发送一个通道的数据,传输速率低。
简单理解:(物理)接口(M2,U2,AIC)=》总线(PCIe,SATA)=》协议(NVMe,AHCI)
其中pcie和nvme高度相关,SAta和AHCI高度相关,
总线(通道)标准:SATA与PCIe
实际上,SATA与PCIe既可以说是总线(通道)标准,也可以说是接口。
当SATA和PCIe作为总线(通道)标准时,可以理解为它们就是数据走的通道或者“路”,数据是通过这个“通道”传输至固态硬盘存储区或者是PC端的。二者的区别是SATA“窄”/PCIe“宽”,因此使用PCIe的固态硬盘要比SATA固态硬盘数据传输要快得多,目前主流SSD使用的也是PCIe总线(通道)标准。
PCIe和SATA是两种不同的接口标准,二者的本质的区别是通信架构的不同,PCIe属于全双工模式,而SATA是半双工模式。
简单的来说,全双工模式允许数据双向传输,而半双工模式只允许数据单向传输。全双工模式传输的优势就是传输速度快,延迟低。
从系统架构上来说,PCIe比SATA要简单。PCIe SSD硬盘在直接连在CPU上,不过,准确的来说,是CPU的小蜜,Root Complex。CPU作为系统的大脑,事务繁忙,日理万机。RC端帮助CPU处理与设备之间的交互。
PCIE和SATA当然有自己的插槽形硬件接口,但现在都普遍用M.2接口,兼容PCIE和SATA,M.2接口一般金手指结构,金手指一般指内存条的金黄色导电触片。
与SATA接口(总线)对接系统接口AHCI(协议)不同,PCIe接口(总线)上层对接的系统接口标准是NVMe(协议)。NVMe与AHCI相比,具有很多的优势。延迟低,最大支持64K队列,命令执行更简单等等。这些优势存在让PCIe是如鱼得水。带NVMe的带领下,PCIe SSD拥有的更快的速度,更低的延迟。
传输协议:NVMe与AHCI
如果说SATA和PCIe是传输数据的“路”,那么NVMe与AHCI就是保证“路”有秩序的交通规则,同样也是固态硬盘性能和速度的保证。关系上传输协议与通道标准是一一对应的,AHCI对应SATA、NVMe对应PCIe(PCIe通道实际上是可以采用AHCI协议的,但是此类产品市面上几乎没有了)。
AHCI无法很好地为采用高速PCIe通道的SSD提供服务,因此针对PCIe通道设计了NVMe传输协议,专为PCIe的SSD服务。目前NVMe已经升级到1.3、1.4版本,低延迟、高性能。
总结一下,SATA和PCIe是传输数据的“路”,SATA(1.0、2.0、3.0)与PCIe(M.2、U.2、AIC)是物理接口,而NVMe与AHCI则是“交通规则”。
NVMe,AHCI是应用于数据传输通路上的协议。其中由于NVMe协议允许多队列,并且队列深度高,可以同时并行在多个数据传输通路上进行数据传输,可以更好地利用PCIe多通道的性能。AHCI只允许单队列,并且队列深度低,一次只能发送一个通道的数据,传输速率低。
sata,msata,m2,pcie物理形态
接口性能/速度是否满足的计算样例
问题:已知有一个sdi转接pcie的设备,通过pcie取得nv12格式的sdi原始视频raw数据,1080p@60fps,,pcie gen2.0 x4(4通道)是否可以支撑这个传输需求,请给出计算步骤
01,计算视频数据带宽(NV12 格式)
NV12 是 YUV 4:2:0 格式,每个像素占用 1.5 字节(Y 分量 1 字节,UV 分量共 0.5 字节)。
分辨率:1920 × 1080(1080p)
帧率:60 FPS
1 | 计算单帧数据量:单帧数据量=宽度×高度×每像素字节数 |
02,计算 PCIe Gen2.0 x4 的理论带宽
带宽对比
项目 | 计算值 | 单位 |
---|---|---|
NV12 1080p@60fps 带宽 | 1,425.6 | Mbps |
PCIe Gen2.0 x4 带宽 | 16,000 | Mbps |
1,425.6Mbps<16,000Mbps
结论
PCIe Gen2.0 x4 的理论带宽(16 Gbps)远高于 1080p@60fps NV12 视频的带宽需求(1.425 Gbps)。
实际传输时,PCIe 2.0 x4 完全可以满足需求,甚至还有大量余量。
常见的MCU/MPU/SoC/DSP/FPGA的差别
在芯片领域,MCU、MPU、SoC、DSP 和 FPGA 是常见的处理器类型,它们各有特点,适用于不同场景。以下是它们的核心区别和联系:
1. MCU(Microcontroller Unit,微控制器)
- 特点:
- 高度集成:将 CPU、内存(RAM/Flash)、外设(GPIO、ADC、UART等)集成在单一芯片上。
- 低功耗:适合电池供电设备。
- 实时性:通常运行 RTOS(如 FreeRTOS)或裸机程序。
- 应用场景:
- 家电控制(如洗衣机)、传感器节点、小型嵌入式设备。
- 代表型号:
- STM32(ST)、ESP32(乐鑫)、PIC(Microchip)。
2. MPU(Microprocessor Unit,微处理器)
- 特点:
- 强计算能力:高性能 CPU 核心(如 ARM Cortex-A、x86),但需外接内存(DDR)和外围芯片。
- 运行操作系统:支持 Linux、Android 等复杂 OS。
- 高功耗:通常需要主动散热。
- 应用场景:
- 工业计算机、智能终端(如 POS 机)、边缘计算。
- 代表型号:
- Raspberry Pi(博通 BCM)、i.MX(NXP)、Intel Atom。
3. SoC(System on Chip,片上系统)
- 特点:
- 超高度集成:在单芯片上集成 CPU、GPU、NPU、内存控制器、高速接口(USB/PCIe)等。
- 异构计算:可能包含多个 CPU/GPU/DSP 核心。
- 定制化:部分 SoC 可针对特定场景优化(如 AI 芯片)。
- 应用场景:
- 智能手机(如骁龙、麒麟)、自动驾驶、AI 加速。
- 代表型号:
- 高通骁龙、华为麒麟、NVIDIA Jetson。
4. DSP(Digital Signal Processor,数字信号处理器)
- 特点:
- 专用计算:优化数字信号处理(如 FFT、滤波),擅长高吞吐量数学运算。
- 低延迟:硬件加速特定算法(如音频编解码)。
- 通常作为协处理器:与 MCU/MPU 协同工作。
- 应用场景:
- 音频处理(如降噪)、图像处理(如摄像头)、通信(5G 基带)。
- 代表型号:
- TI C6000 系列、ADI SHARC。
5. FPGA(Field Programmable Gate Array,现场可编程门阵列)
- 特点:
- 硬件可编程:通过 HDL(Verilog/VHDL)配置逻辑电路,灵活性极高。
- 并行计算:适合高速信号处理、协议加速。
- 高功耗:动态功耗随逻辑复杂度增加。
- 应用场景:
- 通信协议处理(如 5G)、原型验证、ASIC 流片前的替代方案。
- 代表型号:
- Xilinx Zynq(SoC+FPGA)、Intel Cyclone。
对比总结
类型 | 核心特点 | 集成度 | 功耗 | 典型应用 |
---|---|---|---|---|
MCU | 低功耗、外设丰富 | 高(All-in-One) | 低 | 家电控制、传感器 |
MPU | 高性能、需外接内存 | 低 | 中高 | 工业计算机、智能终端 |
SoC | 异构计算、多核集成 | 极高 | 中高 | 手机、AI 加速 |
DSP | 专用信号处理、数学优化 | 中 | 中 | 音频、图像处理 |
FPGA | 硬件可编程、并行计算 | 可定制 | 高 | 通信、原型验证 |
联系与协作 |
SoC 可能包含 MCU/MPU/DSP
例如:手机 SoC(如骁龙)包含 Cortex-A(MPU)、Cortex-M(MCU)、DSP 和 GPU。
FPGA 可与 MCU/MPU 协同
例如:Xilinx Zynq 集成了 ARM Cortex-A(MPU)和 FPGA 逻辑。
DSP 常作为协处理器
例如:摄像头模组用 MCU 控制,DSP 处理图像。
如何选择?
需要低功耗控制? → MCU
需要跑 Linux? → MPU/SoC
要做音视频处理? → DSP
需要灵活硬件加速? → FPGA
全功能智能设备? → SoC
参考
M.2 PCIe NVMe三者的关系:https://blog.csdn.net/weixin_46129187/article/details/143429683
小a科普|固态硬盘术语:SATA、PCIe、AIC、U2、M.2、NVMe和AHCI:https://baijiahao.baidu.com/s?id=1711659897646763096&wfr=spider&for=pc
选购固态硬盘别犯难:一文搞懂 M.2、SATA、PCIe 和 NVMe:https://baijiahao.baidu.com/s?id=1804753527384413243&wfr=spider&for=pc
PCIe、SATA,M.2,NVMe、AHCI、IDE到底都是 些啥?(于2018.04):https://www.douban.com/note/684877015/?_i=1403373xdAUCBL
硬盘MSATA和SATA和M2接口定义:https://post.smzdm.com/p/a94og7g5/