




CPU出现于大规模集成电路时代,处理器架构设计的迭代更新以及集成电路工艺的不断提升促使其不断发展完善。从初专用于数学计算到广泛应用于通用计算,从4位到8位、16位、32位处理器,后到64位处理器,从各厂商互不兼容到不同指令集架构规范的出现,CPU 自诞生以来一直在飞速发展。
为了改善性能,CPU已经不是单条取指--gt;解了码--gt;执行的路线,而是分别为这3个过程分别提供***的取值单元,解了码单元以及执行单元。这样就形成了流水线模式。
因为CPU有大量的缓存和复杂的逻辑控制单元,因此它非常擅长逻辑控制、串行的运算。相比较而言,GPU因为有大量的算术运算单元,因此可以同时执行大量的计算工作,它所擅长的是大规模的并发计算, 计算量大但是没有什么技术含量,而且要重复很多次。这样一说,我们利用GPU来提高程序运算速度的方法就显而易见了。使用CPU来做复杂的逻辑控制,用GPU来做简单但是量大的算术运算,就能够大大地提高程序的运行速度。
每核上的多线程CPU都共享该核的CPU资源。
假设每核CPU都只有一个"发动机"资源,那么线程1这个虚拟CPU使用了这个"发动机"后,线程2就没法使用,只能等待。
所以,超线程技术的主要目的是为了增加流水线上更多个***的指令,这样线程1和线程2在流水线上就尽量不会争抢该核CPU资源。所以,超线程技术利用了superscalar(超标量)架构的优点。