为什么proc / cpuinfo仅在我的galaxy S4上显示4个处理器

我有个问题!

我检查了我的Galaxy S4上的CPU信息。 根据规格,S4有八个芯片组:

芯片组: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

本页提供了该芯片上为什么存在多种CPU类型的高级解释:

三星Exynos 5 Octa(Exynos 5410处理器) (samsung.com)

它采用ARM®big.LITTLE™架构设计,与仅使用ARM®Cortex-A15™内核相比,可在执行各种任务时节省高达70%的能源。 它可以在Cortex-A15和Cortex-A7处理器之间无缝切换,从而通过工作负载来选择最佳的CPU,从而节省功耗。 这种巨大的能源效率是可能的,因为big.LITTLE架构专门设计用于正确的任务使用正确的处理器。 尽管四个“大”ARM®Cortex-A15内核可以处理大量的游戏和富媒体浏览等计算密集型任务,但四款“小型”ARM®Cortex-A7内核可以处理较轻的工作负载。


ARM big.LITTLE (Wikipedia.com)

本文描述了Linux内核可以配置为使用核心的不同方式。

内核切换器(CPU迁移)

通过内核切换器(IKS)迁移CPU包括将“大”内核与“小”内核配对,在一个芯片中可能有许多相同的对。 每对作为一个虚拟核心运行,并且一次只有一个真正的核心(完全)启动并运行。

big.LITTLE IKS图
来源:维基百科


异构多处理(全局任务调度)

big.LITTLE最强大的使用模式是异构多处理(MP),它允许同时使用所有物理内核

big.LITTLE MP图
来源:维基百科

因此,如果您在/proc/cpuinfo只看到4个内核,则内核使用内核切换器(IKS)配置。


这篇关于LWN的文章也很有趣。 它描述了在Linux内核中实现big.LITTLE体系结构的一些细节:

big.LITTLE调度程序更新 (LWN.net)


S4没有真正的8核心处理器。 它有2个4核心处理器,其中只能有一个处于同一时间。 基于CPU负载,它可以在耗电量更高的1.6 GHz和功耗更低的1.2 GHz处理器之间切换,但其中只能有一个可以同时运行。

链接地址: http://www.djcxy.com/p/85539.html

上一篇: Why proc/cpuinfo shows 4 processors only on my galaxy S4

下一篇: Cannot create shared object of protobuf with android g++ standalone compiler