龙芯CPU频率为什么上不去?

简介: 龙芯CPU频率为什么上不去?

 龙芯最近发布了新的CPU。大家可以看到,频率还是2G,跟主流相比低很多。这是为什么?


  一般人都会认为是制造工艺的问题。这个想法理所当然,可是再一想又不对:AMD/INTEL多年前都3、4G了,用的也是相同甚至更落后的工艺。说不通。


 看到胡伟武明确承认,芯片设计能力有差异导致。这就对了。



 那么,频率提不上去,怎么跟设计有关?现有芯片,能不能提高频率?能。提高了会怎样?马上出错,或者干脆无法点亮。频率是干什么的?是同步CPU内部各个操作的。也就是说,每个操作都要在一个时钟周期内完成。可是完成需要时间,你提高频率,就是周期缩小,有的操作执行不完,自然就出错了。


 既然如此,解决办法就是减少耗时最长的那个操作。这说起来容易,有两种办法:


 缩小操作耗时。这跟设计有关。


 把一个操作改为两个或多个。相当于加大流水线级数。而这自然又涉及到设计问题。而且会导致执行效率下降。


 设计能力跟什么有关?跟智力有关。也就是说,如果能请到某些顶级牛人,事情就好办了。比如AMD的ZEN,就是由一个顶级牛人负责的。



 同样的道理,兆芯的频率提高不了。为什么ARM芯片提高频率容易?因为设计方已经做了大量改进。只要拿过来简单设计一下周边即可。



 另外,工艺的进步对于提高频率帮助已经有限了。大家可以注意一下,芯片频率进步已经很慢了。


 


目录
相关文章
|
3月前
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
44 0
|
运维
查看调整cpu频率及模式
查看调整cpu频率及模式
274 2
|
Android开发
Android中adb设置cpu频率
Android中adb设置cpu频率
586 0
|
安全 Linux
如何查看Linux服务器的CPU频率?底层原理是什么?
如何查看Linux服务器的CPU频率?底层原理是什么?
1393 0
|
Java API 调度
在MTK芯片上如何控制CPU的核数和频率-MTK PerfService
MTK提供了一个PerfService来实现调整CPU/GPU资源的服务。对于老的API,可以更简单地讲就是调CPU核数和CPU频率的。
18608 0
|
Linux Go
获取cpu频率的代码
taskset是linux自带的一个命令,可用来将进程绑定到指定CPU 相关的函数有: sched_setaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO // cpufreq库可在/usr/lib目录下找到 // 编译: g++ -g -o x x.
1194 0
|
测试技术
服务器的CPU一直上不去,加几行代码,再加一个测试工具,让它跑起100%
$num = 0; while ($num < pow(15, 31)) { $num1 = 1; while ($num1 < pow(15, 31)) { $num1
906 0
|
9天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image: