在本页阅读全文(共11页)
● 码头工人与工厂蓝领
要搞清楚Fermi究竟还算不算是GPU,我们首先要从CPU和GPU的区别谈起。
GPU的动作方式从根本上来讲更像是一座码头,程序就是一个个在从货轮上卸下来的散件集装箱,集装箱进入码头物流之后会被放置在一片区域中等待吞吐,此时码头管理部门会根据需要指派装卸工人前往集装箱处将箱内的货物搬运出来。
尽管方式可能不尽相同,而且效率也未必一样,但每位工人每次只能搬运一件货物,而对于整个码头而言,它的在集散区所进行的功能也只有一个,那就是搬运和装卸。
相比来说,CPU则更像是一座完整的装备厂,每条流水线上的工人根据生产线需要完成单步任务,但整个工厂的功能却从组装到加工不一而足。
为了方便阅读,我在这里抹去了一些更加深入的定义,因此以上描述并不精确,但它依旧足够形象。CPU的深度流水线以及完整的配套资源保证了执行过程的足够丰富以及对自然代码的最大消化能力,单级流水线的GPU在这方面存在明显的欠缺。
Fermi看上去感觉和其他GPU存在很大区别,但本质上也依旧是个码头物流系统。4组GPC相当于把集散地划分成了完全独立的4块操作区域,在这些区域内有专门的物流管理员负责调配区域内的码头工人更加有效地进行组织,他们会根据工人的实际动作状况直接将任务进行分派。与此同时这些区域又统一受码头的统筹领导,码头会根据不同区域的繁忙程度决定下一批抵达集散地的货物的分派方式,空闲的区域将得到更多的货物,繁忙的区域得到相对少的货物。
尽管工作效率更高,但GPU依旧是一大群的码头工人,所做的简单工作在目前仍然无法与工厂蓝领进行直接的比较。
本文导航