技术端:CPU/GPU当前不具备互相吞噬的可能
从技术实现端来看,目前CPU和GPU在现有架构基础之上没有可能实现另一方的功能,除非Intel推出一个全新架构,必须是革命性的新架构,完全模式GPU的指令执行模式,否则的话CPU取代GPU现在在技术端很难实现。
○ GPU架构
目前从DirectX10显卡开始,显卡内部开始采用统一渲染架构设计,NVIDIA最新一代G92显示核心内部集成了128个流处理器,如果我们将一个流处理器看作一个核心的话,那么G92显示芯片拥有128个核心。
GPU难以在3D API之外实现本身价值
单从核心数量上来看GPU数量已经领先于目前的CPU,但是其由于天生并定位于处理器3D图形渲染,所以单个流处理器功能不强,流水线深度很短,依赖于仲裁机构和片内缓存。
特点:流处理器的特点是执行指令代码简单但是执行效率高,类型单一而又固定。
缺陷:目前这种指令代码仅适用于D3D和OpenGL两种3D API,不适用于其他应用领域。
○ CPU架构
CPU架构方面则与GPU截然相反,CPU流水线深而复杂,并发性不高,仲裁并行依赖于应用程序,这样的架构方便与编程人员根据需求运行任意类型程序,编程更加随意而有灵活。
特点:流水线层级深,可编程性强,可以处理复杂指令。
缺陷:指令并发性低。
● 小结
从先有CPU和GPU架构来看,两者不具备互相取代的技术条件,主要由于两者架构的差异,GPU针对于3D API进行了专门优化,处理的指令简单又单一,执行效率高,并发数多,但是单个指令复杂程度低;反观CPU则是单个指令更加复杂,指令可编程度高,能够执行复杂指令,但是并发性低。所以从现阶段来看CPU和GPU两者之间谁也无法取代谁。
但是这个假设建立在现有CPU和GPU架构基础之上,倘若新一代CPU架构推出,这个假设也有可能被打破,当然这个假设必须建立在CPU新一代架构已经能够解决现有问题的前提下。