NVIDIA和AMD的显卡架构差异主要体现在执行单元组织、缓存层次和调度策略上。
1. **执行单元**:NVIDIA采用CUDA核心,每个SM(流式多处理器)包含多个CUDA核心,通常以32个为一组(Warp)同时执行相同指令;AMD使用流处理器(SP),以64个为一组(Wavefront)执行。NVIDIA的Warp调度更灵活,分支发散时效率更高;AMD的Wavefront在无分支时吞吐量更大,但分支发散会导致性能下降。
2. **缓存层次**:NVIDIA通常有更大的L1缓存和统一的L2缓存,且L1与共享内存可动态配置,适合需要频繁数据共享的算法;AMD的RDNA架构引入Infinity Cache(L3缓存),减少显存访问延迟,对游戏场景有利。
3. **光线追踪与AI**:NVIDIA从Turing架构起集成专用RT Core和Tensor Core,硬件加速光追和AI计算;AMD的RDNA2/3使用通用计算单元处理光追,效率较低,但RX 7000系列引入AI加速器,差距缩小。
4. **计算单元设计**:NVIDIA的SM包含专用调度器、寄存器文件和共享内存,每个CUDA核心可独立执行整数或浮点运算;AMD的CU(计算单元)包含多个SIMD单元,每个SIMD执行相同指令,但RDNA改进为双发射,提高指令级并行。
总结:NVIDIA架构更通用,适合异构计算(CUDA生态);AMD架构更专注游戏光栅化,通过大缓存和高频率提升性价比。