我有一个问题!
我已经检查了Galaxy S4上的CPU信息。 根据规格,S4具有octa芯片组:
芯片组:Exynos 5 Octa 5410
CPU:四核1.6 GHz Cortex-A15&四核1.2 GHz Cortex-A7
但是,当我通过
检查时$ adb shell cat proc / cpuinfo
它显示4个处理器只有8个。我想知道为什么? 如果您有任何经验,请给我一些想法!
这是使用$ cat proc / cpuinfo
的信息Processor : ARMv7 Processor rev 2 (v7l)
processor : 0
BogoMIPS : 1590.88
processor : 1
BogoMIPS : 1590.88
processor : 2
BogoMIPS : 1590.88
processor : 3
BogoMIPS : 1590.88
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 2
Hardware : UNIVERSAL5410
Revision : 000a
Serial : b13f21814d007109
答案 0 :(得分:4)
此页面高度解释了此芯片上存在多种CPU类型的原因:
Samsung Exynos 5 Octa (Exynos 5410 processor)(samsung.com)
它采用ARM®bigang.LITTLE™架构设计,与仅使用ARM®Cortex-A15™内核相比,在执行各种任务时可节省高达70%的能源。它可以在Cortex-A15和Cortex-A7处理器之间无缝切换,按工作负载选择最佳CPU,从而节省功耗。由于big.LITTLE架构专门设计用于正确的任务,因此可以实现这种巨大的能源效率。虽然四个“大”ARM®Cortex-A15内核可以处理计算密集型任务,例如广泛的游戏和富媒体浏览,但四个“LITTLE”ARM®Cortex-A7内核可以处理更轻的工作负载。
ARM big.LITTLE(Wikipedia.com)
本文介绍了可以配置Linux内核以使用内核的不同方法。
内核中切换器(CPU迁移)
通过内核中切换器(IKS)进行CPU迁移涉及将“大”核心与“LITTLE”核心配对,在一个芯片中可能有许多相同的核心。每对作为一个虚拟核心运行,并且一次只有一个真正的核心(完全)上电并运行。
来源:Wikipedia
异构多处理(全局任务调度)
big.LITTLE最强大的使用模型是异构多处理(MP),它允许同时使用所有物理核心
来源:Wikipedia
因此,如果您在/proc/cpuinfo
中只看到4个核心,那么您的内核似乎正在使用内核中切换器(IKS)配置。
这篇关于LWN的文章也很有趣。它描述了在Linux内核中实现big.LITTLE体系结构的一些细节:
A big.LITTLE scheduler update(LWN.net)
答案 1 :(得分:1)
S4没有真正的8核处理器。它有2个4核处理器,其中只有一个可以一次打开。基于CPU负载,它可以在功耗更大的1.6 GHz和耗电量更少的1.2 GHz处理器之间切换,但其中只有一个可以同时运行。