当前位置: 首页 > news >正文

树莓派4处理器超频指南

概述

在树莓派4的系列硬件中,处理器都是基于Broadcom BCM2711,内部具有4个ARM Cortex-A72和VideoCore VI。如果仔细看:树莓派4B开发板用的是BCM2711B0,主频为 1.5GHz;而Pi 400(Keyboard Computer)的SoC略有区别,型号是BCM2711C0,主频为 1.8GHz。这暗示着RPi 4有一定的超频能力。

图1-树莓派400 vs 树莓派4B


为什么要超频?

如果需要让树莓派跑高速计算的应用,比如视频编解码、图像识别、游戏模拟器等,当然速率越快越好。

有老外网友尝试,BCM2711B0(树莓派4B)可从原来的1.5GHz超频至2.147GHz,而BCM2711C0(树莓派400)可以从原来的1.8GHz超频至2.3GHz(见参考链接[1])。这种高达30%以上的速率提升,也许某些应用在超频之前是卡顿的,在超频之后就顺畅了。


为什么出厂时不设置超频?

既然谁都喜欢高性能,那么,为什么出厂时不默认设置为超频呢?

首先,芯片由晶圆方式制造出来,一片晶圆上有数千颗芯片,它们都是同批制造,但有些性能好一点,有些性能弱一点。好一点的就有可能被命名为前面的“BCM2711C0”(用于树莓派400),坏一点的被命名为“BCM2711B0”(用于树莓派4B)。厂家在宣传的时候,只能说一个保守的、大多数芯片能达到的性能。那么,经过芯片测试,比如将BCM2711C0设置为1.8GHz,或者将BCM2711B0设置为1.5GHz,它是稳定的、达标的。

图2-芯片在晶圆上同批次生产

其次,所谓“标频”或者“超频”都是相对外在条件而言,这个条件与“散热”息息相关。也许在另一种更好的散热情况下,也许出厂默认时BCM2711C0的标准频率是1.9GHz,或者BCM2711B0的标准频率是1.6GHz,也未尝不可呢?但可以肯定的是,高性能的代价是更复杂的PCB和散热设备,而这都是成本。在高性能情况下,树莓派的售价也许还要更贵,这都是靠钱堆出来的,你说是吧。


超频在超什么?

超频意味着将处理器(CPU 或 GPU)的最大时钟速度设置为高于出厂默认的水平,例如,树莓派4B BCM2711B0的默认时钟速度是 1.5GHz,如果将此时钟速度提高到1.5GHz以上,都称为超频(Overclocking)。

这个超频的“频”,指的是时钟频率,在现代处理器上都是PLL(锁相环)。简单理解的话,PLL是一种压控振荡器,可以通过参数设置,改变时钟振荡器频率。

图3-PLL(锁相环)框图


功耗与节流问题

超频时处理器的功耗会上升,如果多出来的热量散不掉,处理器的温度就会提升,当温度高到一定程度就会引发处理器节流(throttling),这可能会使得处理器性能还不如超频前状态,甚至工作不稳定。我们来看下内部原理:

所有处理器,包括树莓派BCM2711,内部都有很多晶体管组成,由PLL时钟驱动。当处理器在执行指令时,内部晶体管正在进行“0”/“1”或称为“导通”/“关闭”的操作。

图4-晶体管导通与关闭

尽管导通、关闭发生得非常快,但晶体管的状态切换总需要一个时间,这个时间内晶体管内部会有一些的电流流过(图中小峰值),而且,这个时间内晶体管是有阻抗的。那么,电流+阻抗,就会发热。随着时钟频率的增加,这种小峰值的数量也成比例地增加,热量也随之增加。

处理器内部具有保护机制来保护硬件免受损坏,比如,在温度过高时自动减慢时钟速率,这个就是处理器节流(throttling),这种情况下处理器的性能会比出厂默认的1.5GHz更差。这就是为什么如果要超频,就一定要配备良好的散热设备,不然适得其反。

除了温度上升,处理器需要消耗更多能量,为此处理器的电力供给也要充足,有时还需要适当提升处理器的供电电压,来维持所需功耗。

对于树莓派来说,如果处理器温度太高(80°C及以上)、或者供电电压不足,在显示屏上会有指示标记提示(我没看到过,看过的网友留个言):

图5-树莓派超频时出现供电电压不足的标志


超频的潜在影响

我们需要知道:超频时处理器处在更为恶劣的工作状态下。

处理器内部还有另一个保护机制——动态时钟切换(Dynamic clock frequency),它的意思是CPU根据需要来切换时钟频率,在有任务执行的时候高速执行,在没有任务执行的时候,就低速运行。

但是偏偏有些人会把“动态时钟切换”这个功能关闭,强制让处理器一直处于超频模式下,这样CPU是容易损坏的。

因为在超频状态下,晶体管承受的是高温和高压。在现代芯片制造中,例如树莓派的BCM2711就是28nm工艺制程,晶体管的gate绝缘层很薄,薄到只有几十个原子厚。长期的高温和高压,该层容易被击穿,处理器也就废了。

图6-MOSFET(金属氧化物半导体场效应晶体管)内部极薄的金属氧化物层(红框内部两个白色箭头所指区域)

这就是为什么不推荐买那些跑过矿机的二手显卡,因为经过长期的高负荷运行,它们的芯片内部可能已经“千疮百孔”了。。。


超频方法

超频方法很多博主有讲,具体操作过程很详细,详见参考链接[1]~[5],在此罗列一下关键步骤及其说明。

首先,处理器工作频率的调整是在/boot/config.txt文件里面进行参数配置,在该文件中找到arm_freq、gpu_freq、over_voltage,改为如下值:

arm_freq=2000
gpu_freq=750
over_voltage=6

分别解释一下:

  • arm_freq,是ARM核的工作频率,2000是设置为2GHz。如参考链接的多篇文章指出,设置为2147(2.147GHz)是上限。如果再高,会有不稳定现象,或者无法正常启动。
  • gpu_freq,是GPU核的工作频率,从默认的600MHz,改为750MHz。
  • over_voltage,代表不同的处理器供电等级,默认是1.35V供电,设置为数值“6”,表示供电改为1.5V。

图7-/boot/config.txt配置超频参数

还有一个参数是force_turbo,默认是force_turbo=0,如果改为“1”,表示禁用上述所说的“动态时钟切换”,这样树莓派始终处于高速运行状态,不推荐修改。

设置完/boot/config.txt文件里的参数后,重启生效。

如果重启后不正常,则把SD卡拿出来,在其他电脑上修改为默认值后,放回去重新启动。所以,在上述超频操作之前,建议备份一下config.txt文件。


超频前后的性能对比

在此介绍一下处理器性能对比的相关命令或工具,附上参考链接和部分截图。

使用lscpu

此命令从sysfs和/proc/cpuinfo收集cpu体系结构信息并显示。详见参考链接[6]。

图8-lscpu运行结果

使用vcgencmd

此命令可以获取处理器的频率和温度。详见参考链接[7]。

图9-vcgencmd运行结果

使用sysbench

此命令通过计算素数来测试性能。输出结果不会提供处理器频率,但会显示每秒的事件数,及计算耗时,以此来对比性能。详见参考链接[8]。

使用Stressberry

Stressberry,它是一个用于测试不同负载下的核心温度的软件包,它可以生成漂亮的图,可以轻松进行性能对比。详见参考链接[9]。

在超频后,通过Stressberry测试,我的树莓派4B核心温度没超70℃摄氏度:

图10-Stressberry测试图

莫非是因为我这种外壳散热效果还不错?

图11-我树莓派4B的散热外壳

使用Phoronix

Phoronix是一个测试套件工具,允许使用者通过搭配http://OpenBenchmarking.org公开的线上测试脚本,分享他们的硬体及软体测试结果的协作平台。详见参考链接[10]。

最后祝大家超频时玩得开心。


参考链接:

  • [1] How to overclock Raspberry Pi 4 — The MagPi magazine
  • [2] How to overclock and stress-test your Raspberry Pi
  • [3] https://github.com/akopytov/sysbench
  • [4] https://github.com/nschloe/stressberry
  • [5] https://www.phoronix.com/

欢迎关注我的微信公众号“疯狂的运放”,及时收到最新的推文。


http://www.mrgr.cn/news/62072.html

相关文章:

  • vue3+vite使用dataV后项目运行报错、页面空白问题
  • 教你详细使用Spring框架中编程式事务
  • 时间数据处理
  • 模具生产管理系统软件:提升制造业效率的新利器
  • springboot民大校园美食推荐系统-计算机毕业设计源码10508
  • 人工智能与数据安全:Facebook如何应对隐私挑战
  • 两步GMM计算权重矩阵
  • matlab读取逐日的1km分辨率中国大陆地区的土壤水数据,并汇总至逐月分辨率
  • 数字化平台助力:国际数字影像产业园打造智慧园区生态圈
  • (也许是全网首发!)Qt6 编译著名Widgets组件 Qt Material Widgets by MSVC / Mingw
  • 设计产品宣传册没参考?推荐一个超多产品宣传册案例的网站
  • OpenJudge:找和为K的两个元素
  • 接口自动化测试平台项目环境搭建
  • MySQL-SQL性能分析
  • 【Stable Diffusion - Ai】小白入门必看(涂鸦、涂鸦重绘、局部重绘和重绘蒙版篇)!真材实料!不卖课!!!
  • 跨平台实现实时通讯
  • 【iOS】SDWebImage
  • 海外联盟营销入门:2024最新指南
  • 玄机-应急响应- Linux入侵排查
  • 单层级IVR和多层级IVR有哪些区别
  • 视频转场素材资源网站分享
  • 网站攻击,XSS攻击的类型
  • C++20 时间转本地时间,时间转字符串以及字符串转时间的方法
  • Android 13 解决 Settings 首页矢量图修改颜色不生效
  • 嵌入式操作系统那么方便好用!为啥还要用单片机?
  • StructRAG简介