论文部分内容阅读
GPU取代不了,也无需取代CPU。GPU只是CPU的一位高级助理,事实上,CPU还有很多其他高级助理。例如以太网控制芯片、音效芯片、IEEE 1394控制器等等,每个助理各有所长,只是有些助理隐姓埋名很久,不被人注意到而已。
GPU重要还是CPU重要?近来,业内人士对这个话题反复研讨。一部分激进的观点认为,GPU将整合CPU的功能,并最终取代CPU。但试问:当GPU拥有了CPU的功能后,它不就是颗CPU吗,它还称得上是一块真正意义上的GPU么?笔者以两点理由证明:GPU取代不了,也无需取代CPU。GPU仍将与CPU及其他处理单元,组成一个完整的计算机系统。
CPU被称为中央处理单元,是电脑的思维源头;GPU被称为图形处理单元,目前的GPU是一切3D图形加速的基础,而早期它主要以2D处理和输出为主。我们在这里讨论的不是GPU内部复杂的计算,而是在计算机系统中GPU的工作方式。
理由一,GPU只是计算机系统中一个完成CPU发出指令的处理单元而已,是CPU的高级助理。举例说明,当CPU发出一条指令“将某某物件渲染”给GPU,GPU就会完成3D渲染,并返还完成信息给CPU,同时等待CPU下一条指令——这就是在计算机系统中,GPU的工作方式。在没有GPU的年代,CPU包揽了一切图形加速的工作。后来出现的GPU代劳了这些工作,将CPU从繁杂的工作中解放出来,使其将宝贵的资源用在执行核心任务或其他应用上。
理由二,即便在高性能运算方面GPU能够包办并行运算,但它还是需要CPU对其发出指令,并处理串行运算任务。在高性能运算方面,GPU抢走了CPU的风头,它特殊的并行管线设计,使其在大量的平行数据运算上具备了优势。但是对程序的判断计算,是需要指令操作优化的,这种设计GPU没有。也许有人会问:GPU也可以将指令操作优化,甚至整合更多的部分。但如果GPU真的这样发展的话,GPU就再也不是一颗单纯的GPU了,而是一块融合了CPU的图形处理单元。另外,在高性能运算方面GPU只是其中一种解决方案,实现高性能计算的途径很多,比如协处理器、加速处理器等,都可以通过自己的方式实现高性能计算。
其实,在计算机系统中CPU不仅仅有GPU一个能力极强的高级助理,还有如以太网控制芯片等很多其他的高级助理。而CPU是通过特有的指令集,来控制、协调、调度这些高级助理,让他们有条不紊地完成各种工作,并且相互配合——CPU在可预见的未来,还将主宰着计算机系统,GPU依旧只是辅助。
GPU重要还是CPU重要?近来,业内人士对这个话题反复研讨。一部分激进的观点认为,GPU将整合CPU的功能,并最终取代CPU。但试问:当GPU拥有了CPU的功能后,它不就是颗CPU吗,它还称得上是一块真正意义上的GPU么?笔者以两点理由证明:GPU取代不了,也无需取代CPU。GPU仍将与CPU及其他处理单元,组成一个完整的计算机系统。
CPU被称为中央处理单元,是电脑的思维源头;GPU被称为图形处理单元,目前的GPU是一切3D图形加速的基础,而早期它主要以2D处理和输出为主。我们在这里讨论的不是GPU内部复杂的计算,而是在计算机系统中GPU的工作方式。
理由一,GPU只是计算机系统中一个完成CPU发出指令的处理单元而已,是CPU的高级助理。举例说明,当CPU发出一条指令“将某某物件渲染”给GPU,GPU就会完成3D渲染,并返还完成信息给CPU,同时等待CPU下一条指令——这就是在计算机系统中,GPU的工作方式。在没有GPU的年代,CPU包揽了一切图形加速的工作。后来出现的GPU代劳了这些工作,将CPU从繁杂的工作中解放出来,使其将宝贵的资源用在执行核心任务或其他应用上。
理由二,即便在高性能运算方面GPU能够包办并行运算,但它还是需要CPU对其发出指令,并处理串行运算任务。在高性能运算方面,GPU抢走了CPU的风头,它特殊的并行管线设计,使其在大量的平行数据运算上具备了优势。但是对程序的判断计算,是需要指令操作优化的,这种设计GPU没有。也许有人会问:GPU也可以将指令操作优化,甚至整合更多的部分。但如果GPU真的这样发展的话,GPU就再也不是一颗单纯的GPU了,而是一块融合了CPU的图形处理单元。另外,在高性能运算方面GPU只是其中一种解决方案,实现高性能计算的途径很多,比如协处理器、加速处理器等,都可以通过自己的方式实现高性能计算。
其实,在计算机系统中CPU不仅仅有GPU一个能力极强的高级助理,还有如以太网控制芯片等很多其他的高级助理。而CPU是通过特有的指令集,来控制、协调、调度这些高级助理,让他们有条不紊地完成各种工作,并且相互配合——CPU在可预见的未来,还将主宰着计算机系统,GPU依旧只是辅助。