高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定

这篇具有很好参考价值的文章主要介绍了高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

超大核在制成,主频,V9指令集,都有大幅提升,因此运行 起来更快。因此绑定大核或者超级大核对某个模块的进程运行会起到非常明显提速。像追求极速的某些模块来说具有非常重要的作用, 比如说触控的高刷,显示屏的高刷, 指纹模块的疾速解锁,faceID等都会用到。

目前主流手机基本都是8核处理器, 这个8个处理器中,不是每个都一样的,结合实用与经济性,IC设计时会使用不同制程工艺。8 个处理器可以有不同的分配。例如近期最流行的架构位1+3+4, 即1个超大核+3个大核+4个小核。 如下时列举不同厂家部分处理器型号的分布。
高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定

查看手机cpu 的大小核分布情况

1,如果知道CUP 型号直接去官网查找, 例如Kirin9000 。

添加链接描述

https://www.hisilicon.com/cn/products/Kirin/Kirin-flagship-chips/Kirin-9000
高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定

2,有手机,也可去通过adb shell 来查看

使用 ls /sys/devices/system/cpu/cpufreq 命令 看有几个policy 类就分为几种CPU, 如上图MT6789分为2组。

ls /sys/devices/system/cpu/cpufreq

C:\platform-tools>adb shell
k6789v1_64:/ $ ls  /sys/devices/system/cpu/cpufreq
policy0  policy6

SM8450 有3个policy 因此有三种类型的CPU,

AI2202:/ $ ls  /sys/devices/system/cpu/cpufreq
policy0  policy4  policy7

如上图SM8450分为两3组。

通过related_cpus去查看每一组所关联的cpu。可以看到SM8450分组情况如下:

 AI2202:/ $ cat /sys/devices/system/cpu/cpufreq/policy0/related_cpus
0 1 2 3
 AI2202:/ $ cat /sys/devices/system/cpu/cpufreq/policy4/related_cpus
4 5 6
 AI2202:/ $ cat /sys/devices/system/cpu/cpufreq/policy7/related_cpus
7

通过cpuinfo_max_freq去查看每一组cpu最大主频,从而来确定哪一个时大核或者超大核。可以看到SM8450超大核为policy7 的cpu7 ,最大支持3GHz

 AI2202:/ $ cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq
1785600
 AI2202:/ $ cat /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_max_freq
2496000
 AI2202:/ $ cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq
2995200

通过cpuinfo_cur_freq去查看每一组cpu当前工作频率,这部分后续提频会确认到改参数。

 AI2202:/ # cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
1478400
 AI2202:/ # cat /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_cur_freq
1881600
 AI2202:/ # cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_cur_freq
2054400

通过related_cpus去查看每一组所关联的cpu。可以看到MT6789分组情况如下:

k6789v1_64:/ # cat /sys/devices/system/cpu/cpufreq/policy0/related_cpus
0 1 2 3 4 5
k6789v1_64:/ # cat /sys/devices/system/cpu/cpufreq/policy6/related_cpus
6 7

通过cpuinfo_max_freq去查看每一组cpu最大主频,从而来确定哪一个时大核或者超大核。可以看到MT6789超大核为policy6 里面的 cpu6, cpu7两个cpu,最大支持2.2GHz

k6789v1_64:/ # cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq
2000000
k6789v1_64:/ # cat /sys/devices/system/cpu/cpufreq/policy6/cpuinfo_max_freq
2200000

通过cpuinfo_cur_freq去查看每一组cpu当前工作频率,这部分后续提频会确认到改参数。

k6789v1_64:/ # cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
500000
k6789v1_64:/ # cat /sys/devices/system/cpu/cpufreq/policy6/cpuinfo_cur_freq
1200000

使用taskset 命令来查看进程所运行的CPU

OS当中所运行的进程不是每个CPU 都能跑的, 会收到CPU调度规则的约束,考虑到功耗,时效,以及资源问题,cpu会有一套合理的调度规范, 对一下时速优先权要求不要的进程一般都会放在小核里面。

以指纹为例,使用ps -A| grep fingerprint 来查找指纹进程号。

k6789v1_64:/ # ps   -A| grep   fingerprint
system        1286     1 10920640  7164 binder_wait_for_work 0 S android.hardware.biometrics.fingerprint@2.1-service

通过taskset -p pid(进程号)来看改进程会有那些cpu 来调度。 如果mask是ff,ff转化成二进制是 0x11111111 ,每个1位代表一个cpu,8位为1,则8个cpu 都可以来调度,对应的顺序为从左到右,高位到低位, 对应cpu7到cpu0,但是什么时候用不确定。

k6789v1_64:/ # taskset  -p   1286
pid 1286's current affinity mask: ff

如果mask出来时只有一位数如下所示,可能时在init 脚本中限制只能在规定的四个核中调度运行。 需要修改脚本。具体请见下一篇文章。

k6789v1_64:/ # taskset  -p   1286
pid 1286's current affinity mask: f

2,通过taskset -p xx(十六进制) pid(进程号)来看改进程会有那些cpu 来调度。 设置成3f(0x00111111), 因此只有cpu5~cpu0可以调度,属于小核,

k6789v1_64:/ # taskset  -p  3f  1286
pid 1286's current affinity mask: ff
pid 1286's new affinity mask: 3f
k6789v1_64:/ # taskset  -p   1286
pid 1286's current affinity mask: 3f

bit7–第4个核(cpu7)
bit6–第3个核(cpu6)
bit5–第2个核(cpu5)
bit4–第1个核(cpu4)
bit3–第4个核(cpu3)
bit2–第3个核(cpu2)
bit1–第2个核(cpu1)
bit0–第1个核(cpu0)

通过进程号cat cpuset,cpus 命令来查看进程所运行的CPU

//ps 进程号
k6789v1_64:/ # ps  -A|grep   finger
system        1286     1 10889920  7120 binder_wait_for_work 0 S android.hardware.biometrics.fingerprint@2.1-service

//cat  proc/1286/cpuset  查找进程号分组
k6789v1_64:/ # cat  proc/1286/cpuset
/system-backgroun

//cat 分组关联的cpus
k6789v1_64:/ # cat dev/cpuset/system-background/cpus
0-3

使用top -H -O CPU -p <进程号> 查看进程关联进程

用top -H -O CPU -p 1286 看一下1286进程关联进行的所用的cpu, [CPU] 一列关联进程都在cpu0~cpu3之间。
高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定

cpu0~cpu3小核下,指纹模块录入指纹的时间大致950ms左右,时间比较长。

C:\Users\11599>adb shell
k6789v1_64:/ # logcat |grep   "total time"
03-28 15:12:28.055  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=1166ms
03-28 15:13:18.512  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=847ms
03-28 15:13:23.822  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=872ms
03-28 15:13:25.393  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=918ms
03-28 15:13:27.573  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=908ms
03-28 15:13:29.485  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=893ms
03-28 15:13:33.046  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=943ms
03-28 15:13:35.294  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=964ms
03-28 15:13:37.731  1286  1654 I [FingerprintCore]: [notifyEnrollProgress]    total time=998ms

绑定大核

因为MT6789只有cpu6 cpu7是大核, 因此绑定大核mask 为1100 0000 (0xc0) ,因此使用taskset -p c0 1286来绑定大核。

k6789v1_64:/ # ps -A|grep   finger
system        1284     1 10953408  7176 binder_wait_for_work 0 S android.hardware.biometrics.fingerprint@2.1-service
k6789v1_64:/ # taskset  -p   c0 1286
pid 1284's current affinity mask: ff
pid 1284's new affinity mask: c0

taskset 查到已经绑定到大核。

k6789v1_64:/ # taskset  -p    1286
pid 1284's current affinity mask: c0

top查看关联进程,大部分进程都已经在大核中运行。
高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定

指纹模块录入指纹的时间大致450ms左右,时间比之前快了一半,这就是大核的效果立竿见影。文章来源地址https://www.toymoban.com/news/detail-496458.html

C:\Users\11599>adb shell
k6789v1_64:/ #  logcat |grep   "total time"
03-28 15:49:03.482  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=587ms
03-28 15:49:06.804  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=420ms
03-28 15:49:08.114  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=428ms
03-28 15:49:09.144  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=436ms
03-28 15:49:11.004  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=447ms
03-28 15:49:13.001  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=450ms
03-28 15:49:13.946  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=444ms
03-28 15:49:16.596  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=424ms
03-28 15:49:17.703  1284  1534 I [FingerprintCore]: [notifyEnrollProgress]    total time=470ms

到了这里,关于高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 工业平板定制方案_基于联发科、紫光展锐平台的工业平板电脑方案

    工业平板主板采用联发科MT6762平台方案,搭载Android 11.0操作系统, 主频最高2.0GHz,效能有大幅提升;采用12nm先进工艺,具有低功耗高性能的特点。 该工业平板主板搭载了IMG GE8320图形处理器,最高主频为680MHz, 支持1080P @30FPS的H.264/H.265视频解码和1080P @30FPS的H.264视频编码。 主板

    2024年01月17日
    浏览(53)
  • 紫光展锐联合罗德与施瓦茨在MWC上海共同展示RedCap测试方案

    在6月28日-30日举办的2023上海世界移动大会上(MWC上海),紫光展锐联合罗德与施瓦茨共同演示RedCap射频与吞吐量测试,确保RedCap终端功能和性能达到预期。在本次联合测试中,RedCap下行吞吐量可达220Mbps,上行吞吐量可达116Mbps,充分验证了紫光展锐RedCap芯片平台V517的能力。使

    2024年02月12日
    浏览(41)
  • 高通平台&MTK平台驱动开发流程

    高通(Qualcomm)是全球领先的无线通信技术解决方案提供商,尤其在移动通信领域有深远的影响。高通的Snapdragon系列处理器广泛应用于智能手机、平板电脑、智能手表等多种设备中。Snapdragon处理器以其优异的性能、高效的能耗比以及强大的图形和视频处理能力而著称。高通平

    2024年04月13日
    浏览(47)
  • 基于大核注意力的高效鲁棒脑损伤分割

    ViT是用于医学图像分割等视觉任务的有效深度学习模型。然而,与卷积神经网络(cnn)不同,它们缺乏效率和平移不变性。为了模拟三维脑损伤分割中的远程相互作用,我们提出了U-Net架构的全卷积Transformer变体。我们证明,我们的模型在三个因素中提供了最大的妥协:与最先进的

    2024年02月11日
    浏览(45)
  • 展锐平台音频框架

    Audio DT介绍 1.概述 DT(Device Tree)是一种描述硬件的数据结构,DTS即设备树源码。 2.Audio DTS 文件架构 bspkernelkernel.4.14archarm64bootsprd ums512.dts   //SOC级相关节点 ——sc2730.dtsi  //Codec ——sharkl5Pro.dtsi  //Platform、VBC、I2S、audio misc ——sprd-sound-fe-be.dtsi //headsetsound card ——extr

    2024年02月10日
    浏览(39)
  • 展锐UDX710:ProSLIC SI32185移植调试

    在展锐UDX710平台上新增slic 驱动,可将应用代码置于source/unisoc/atrouter2.0下面,Si32185驱动代码放置于kernel,通过IOCTL对slic器件进行控制。整体流程如下图所示: 1. DTS 控制通路SPI0需增加一个spidev用于绑定对应的proslic驱动并进行相关配置 kernel4.14_orca/arch/arm64/boot/dts/sprd/udx710.dts

    2024年02月12日
    浏览(76)
  • 展锐UDX710:LAN7800 PHY驱动调试

    内核:Linux 4.14.98 Modem:展锐UDX710 驱动:LAN78XX PHY驱动 USB PHY:LAN7800 将展锐UDX710 Type A(USB3.0)配置为主模式,确保可以识别从设备LAN7800 PHY: 将LAN7800 USB口连接到UDX710的Type A(USB3.0)口,然后将RJ45连接到PC的网口供PC上网使用。 在内核中按照如下打开编译选项开启内核LAN78XX驱

    2024年02月06日
    浏览(59)
  • 展锐UIS8310 CAT4物联网模块简介

    1.简介 UIS8310是一个高度集成的应用处理器,支持TDD-LTE、FDD-LTE和WCDMA、GSM/GPRS/EDGE制式,并且支持LPDDR2。它的AP处理器是单核ARM CortexTM A7 1GHz,旨在为物联网提供经济高效、低功耗和高性能的解决方案。 UIS8310经过特别优化的架构可以实现高性能和低功耗应用。为低功耗ASIC设计和

    2024年02月13日
    浏览(35)
  • YOLOv8算法改进【NO.92】使用大核分离卷积注意力模块Large Separable Kernel Attention(LSKA)改进SPPF模块

     前   言        YOLO算法改进系列出到这,很多朋友问改进如何选择是最佳的,下面我就根据个人多年的写作发文章以及指导发文章的经验来看,按照优先顺序进行排序讲解YOLO算法改进方法的顺序选择。具体有需求的同学可以私信我沟通: 第一, 创新主干特征提取网络,

    2024年03月23日
    浏览(51)
  • 紫光FPGA试用--软件篇

    目录 一 软件安装启动 二 如何打开IP核?查看/修改现有IP核参数? 三 如何定义引脚? 四 如何下载code进入FPGA? 1. 下载到FPGA芯片内: 2.下载到外部FLASH中 五 如何进入在线调试模式,调试步骤 操作步骤: 错误汇总: 六 Global include 设置 七 相关约束文件格式及使用范围 一 软件

    2024年02月15日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包