你好!欢迎来到 !
语言
当前位置:首页 >> 技术中心 >> 电容电阻 >> 理论与现实的差异,多核心芯片软开发瓶颈何在?

理论与现实的差异,多核心芯片软开发瓶颈何在?

作者:admin 来源:不详 发布时间:2018-01-05  浏览:0

随着手机市场竞争的白热化,手机芯片设计商为了创造出差异性,发布了8核心以上的CPU。让手机芯片的核心数量一举超越主流笔电的2或4核心。然而,我们是否真的需要如此多的核心?是什么原因让我们无法彻底地发挥CPU的真本事?

中央处理器,CPU(CentralProcessing Unit),做为电脑的大脑,掌管着电脑所有运行的程序。为了让程序可以运行的更快更稳,电脑架构师们不断的思考着该如何设计出更好的CPU架构,让使用者得以享受更加快速、便利的电脑。

为了设计出更为出色的CPU,工程师便想借由不断提高CPU的时脉,让CPU得以在一秒内执行更多的指令。随着科技的发展,时脉的确如工程师所愿,逐步的提高。从1990年代开始,CPU的时脉从60MHz,一举提升到2000年的2000MHz。进步幅度之大,令人赞叹。

发展遇到瓶颈,多核心的时代来临?

到了千禧年,时脉的进展,却不再如此顺利。当CPU时脉发展到4GHz左右时,工程师发现,CPU每秒所制造出的热,已经突破一般家用散热器可以负担的量。为了解决工程上的瓶颈,工程师开始将目光放在多核心架构上。因此,Intel以及AMD皆于2005年发布了双核心CPU,欲借由双核心的技术,突破单芯片效能的瓶颈。

但是,多核心架构却没有如原先预期的向超多核心发展。intel从2005年至2015年。将近10年间,在一般消费者市场(不含电竞玩家)所发售的CPU也顶多从双核心进展到四核心。至于AMD,即使发布了8核心的CPU于市场上,其效能也顶多和该时期的同级4核intel CPU相当。

究竟是什么样的因素,让CPU的核心无法如同时脉的进展般,一飞冲天?


应用程序的极限,多核心无用武之地?

在不考虑在单一CPU中加入过多核心,会大幅增加CPU的耗电量时。最主要的因素便是多核心的应用程序不容易开发,让电脑架构师决定持续研究如何改善一个核心的效能,而非多核心架构的开发。但是,为何多核心的应用程序会难以开发呢,这必须从使用者常用的应用程序来看。

在日常的使用环境中,使用者大多是使用网页浏览器、看影片、以及玩游戏。而这3种,恰好是3种不同的应用类型。

在使用网页浏览器时,电脑大多在等待用户下新的指令,像是打字以及使用鼠标点击链接,接着便是从远端读取网页资料并绘成使用者界面。软件在CPU端可以平行运作的部分相当稀少,也因此,多核心在单纯的浏览网页上,并无法带来太多的增益。

上网看影片则是电脑会不断的从服务器接收影片的资料以及向服务器送请求,接收资料后,交由绘图处理器(GPU)进行绘图运算,将压缩过的编码影像档转换成显示器的画面。在这一类应用中,工作负担主要是在GPU端,CPU可平行的程度也不高。

最后的应用,则是游玩游戏。在玩游戏时,电脑会不断的接收用户所下的指令,接着是在电脑所建构出的虚拟世界中,标记玩家周遭的景色以及移动。之后,便是将整个虚拟世界交由GPU,转换成显示器的画面。绘图处理器详细的运行流程在此。

在这一类应用中,因为电脑需不断地记录玩家的移动以及将虚拟世界中物体位置记录在CPU中,因此,CPU的负担较其他应用沉重,毕竟它需要从硬盘中读取地图的地形座标以及玩家的位置和动作。此外,CPU也需将大量的游戏资料送进GPU中。所以,游戏和前述的应用相比,可平行的程度较高。但是,4核心也足以负荷所有需求。因为负荷最沉重负担的,依旧是GPU。


根本问题,人的思绪是线性的

由上所述的数个原因,可以得知最根本的问题,便是人类一次只能思考一件事情。而电脑程序是由人类撰写,导致在撰写程序时会将人类的思考方式带进电脑中,让程序在早期的发展,仅需由单核心处理器便可以完成。

此外,如果要将现行的程序修改成平行程序,也因为人的思考流程是线性的,工程师需要花费相当大的力气才能找出可以平行的部分,并将程序的逻辑做大幅的修改,让平行程序难以推广。

或许会有人反驳,人一次是可以做两件事情,像是一边做事一边听音乐,但那也只能称为可以迅速的在两件事情间做切换而非同时思考。除非,有人可以将眼睛同时对焦在两点以上,这样才有可能一次处理两件事情。

此外,有部分的使用者会宣称,他们一次会开启多个网页分页,这样也算是需要多核心的CPU,但是,如前所述,除非有人可以将眼睛对焦在两点上,同时看两个网页。不然,开启多个分页只是占用大量的内存,多核心在这类应用上没有多大的帮助。


移动时代来临,应用产生剧变

然而,在智能手机发布之后,情况开始有所转变。随着手机的迅速发展以及应用的多变,多核心的应用逐渐增加。举例来说,在2013年,Apple推出的iPhone 5s内,便在原本的双核心CPU外,添加一个小处理器做感测器的资料收集。在其他手机内部,则使用一般的CPU核心负责。让原本的应用,新增了一份可平行的工作。

此外,近期的应用程序也开始提升和现实世界的互动性。以现行热门的Pokémon GO为例。在开启AR和现实世界互动时,要执行此类应用程序,便需要大量的运算资源。在寻找宝可梦时,手机需要收集GPS信号,下载地图资讯以及宝可梦出现的位置。

当宝可梦出现后,则需要将相机拍摄的图片和宝可梦做结合。同时,运动感测器也需要开启,计算玩家镜头的移动轨迹,订出宝可梦应该出现在画面的何处;抛球时,则需计算抛球的方向还有滑动的速度以计算抛球的距离。这些应用都可以平行,为多核心CPU开启一片新天地。

另外,随着自动驾驶以及人工智能的题材兴起,原本用在手机内部的芯片,开始攻城略地,往其他领域拓展。在其他领域中,因为需要大量的感测器,让超多核心的应用化为可能。毕竟,光是接收大量的感测器资料,现行的4核心CPU已招架不住。

那么,我们是否需要多核心的CPU呢?对一般的笔电以及桌机使用者而言,近期的答案为否,毕竟4核心已经能满足使用者的需求;但在移动应用市场中,答案则为是,因为移动设备的应用越来越多元,感测器也越来越多,在CPU中塞入更多的核心,将可迅速的应付与日俱增的硬件需求,而不需花费大量的人力以及财力从单一核心压榨出更多效能。



编辑:admin  最后修改时间:2018-01-05

相关文章

    热销产品

      联系方式

      0755-82591179

      传真:0755-82591176

      邮箱:vicky@yingtexin.net

      地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

      Copyright © 2014-2023 All Rights Reserved.  粤ICP备14043402号-4

      Baidu
      map