stevenxu 发表于 2018-1-4 12:30

单讲CPU本身,多核永远有互相等待的时候,所以多核永远不如单核。即使考虑到现代计算机多任务IO的情况,超过4个核心也不会有什么好处。

909648183 发表于 2018-1-4 18:38

stevenxu 发表于 2018-1-4 12:30
单讲CPU本身,多核永远有互相等待的时候,所以多核永远不如单核。即使考虑到现代计算机多任务IO的情况,超 ...

单核心一样会有闲置时间,超线程技术就是为了减少这种闲置时间

实际使用中,cpu并不是总是在进行运算的,很多时候都是在等待,比如等待cache,等待控制器的指令,等待内存数据交换

stevenxu 发表于 2018-1-6 11:09

909648183 发表于 2018-1-4 18:38
单核心一样会有闲置时间,超线程技术就是为了减少这种闲置时间

实际使用中,cpu并不是总是在进行运算的 ...

你这是什么逻辑?难道多核的每个核内部就少了这些等待?

909648183 发表于 2018-1-6 12:01

stevenxu 发表于 2018-1-6 11:09
你这是什么逻辑?难道多核的每个核内部就少了这些等待?
比如单核心50G,但只能运行50个只需要0.5G计算量的任务,因为单核心多任务的时候逻辑会比较复杂,性能浪费很严重;如果是50个1G的核心,那么可能可以运行80个0.5G计算量的任务,因为效率更高。总体来说等待时间的比例减少,所以效率高了

当然这也是因为程序设计和硬件设计是相关的,现有的程序设计也是为了目前的多核心硬件设计而做并行优化的,对于现有的cpu构架来说,如果真能勉强做到单核心50G的话,不如做8个30G核心的,总运算性能绝对更高,总体设计难度和良品率也会大幅提高(提高单核心性能不是只提高主频就可以的,cpu还有其他部分得一起提高性能)

stevenxu 发表于 2018-1-6 12:37

909648183 发表于 2018-1-6 12:01
比如单核心50G,但只能运行50个只需要0.5G计算量的任务,因为单核心多任务的时候逻辑会比较复杂,性能浪费 ...

这个论断是错误的。单核心永远比多核心阻塞少。

909648183 发表于 2018-1-6 12:58

本帖最后由 909648183 于 2018-1-6 13:12 编辑

stevenxu 发表于 2018-1-6 12:37
这个论断是错误的。单核心永远比多核心阻塞少。
单核心在进行任务切换的时候效率会低一些,因为多核心的时候任务切换少了

修正一下,应该说是多核心的时候任务切换可以并行了,但也对程序设计有了额外要求
页: 1 [2]
查看完整版本: 提一个关于CPU性能的问题,希望看看大家是什么意见