sarnaga 发表于 2014-10-5 20:57:49

单核到多核的转变无疑是沧桑巨变

本帖最后由 sarnaga 于 2014-10-6 00:15 编辑

自从2002年开始,受到功耗,指令级并行程度和长的存储器延迟限制,单核处理器的性能增长放缓。
于是在2006年,所有的桌面和服务器公司都进入多核领域,以求更大的吞吐量,而不是追求单个处理器的响应时间。

这给编程人员带来的却是一种痛苦,因为在以前,依靠硬件、体系结构和编译程序的进步,无需修改一行代码,程序的性能就能大幅度增加。

而多核心时代,要想显著的改进响应时间,必须重写源代码,这种体系结构的重大改变,成为痛苦之源。

1. 比起单核的串行编程,多核并行编程难度明显提高。

2. 为了发挥速度,编程人员必须将应用程序划分为每个核大致相同的任务,并同时完成,还要尽可能的减少调度开销,以免浪费并行性能。

3. 从计算机发展到2006年之前,所有的程序都是为单核编写的,要想发挥多核性能,必须推倒重写,这种代码以亿行累积的历史负担,太过沉重。

编程难度的提高,过去的负担太重,一切的一切都让编程人员痛苦。

这也解释了,为什么多核几乎诞生了10年,无论是应用软件还是系统软件,对多核的支持依然不尽人意。

进一步解释了,为什么intel的cpu依然是世界上最受欢迎的产品,因为它的单核能力强。

AMD空有更多的核心,单核能力的雏弱,完全落入下风。

单从逻辑上来说,这并不是硬件生成厂商的问题,而是编程人员的问题。

编程人员又是为软件公司服务,推倒重写源代码?谈何容易。

这种“额外”的巨额资金开销,谁来承担?



漩涡鸣人 发表于 2014-10-5 23:07:35

支持一下
的确如此,单核到多核的转变绝不只是运算速度增快而已,要解决的问题还有很多
多核之间的工作方式类似网络,提高效率有很大难度,AMD在效率这块做得还不够

黑暗守望 发表于 2016-1-11 14:49:54

支持一下

tb2128_56 发表于 2016-1-28 13:54:46

长见识

大叔学编程 发表于 2016-1-28 15:52:22

这是不是,以后苦逼的日子,将,更苦逼!{:10_247:}

【残々剑】 发表于 2016-1-28 20:08:40

这是若干年后的趋势。因为单核当达到>3以上会发现电离现象。所以单核处理的速度就当到3i就再也提不高了。这样才研究出来的多核。如果以后的程序再扩大不用多核那不跟以前的386差不多。。哈哈

sgc54940896 发表于 2016-2-3 17:10:21

{:10_256:}{:10_256:}{:10_256:}{:10_256:}{:10_256:}

低调的人! 发表于 2016-2-3 19:07:21

长见识了{:10_334:}

xiaozhi7713 发表于 2016-2-4 10:55:31

看一下,学习了

自古天道酬勤 发表于 2016-2-6 01:43:01

多核的根本原因是研发更高性能的单核处理器成本太高
页: [1]
查看完整版本: 单核到多核的转变无疑是沧桑巨变