你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32G4的内核性能

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
1.ART加速  w) X% D: X1 D+ Z" S
1 s" e7 B8 W6 r# P+ A1 Z: k" d7 P/ k
20200723165226551.png

0 H% |/ ?6 p( u6 F' s2 s* W' Y: Q; p
ART在Flash之前,ART加速可以提高Flash的读取运行速度。: W4 m* e' M$ J  n1 [( ?) f4 r& _
! F2 C/ w( X/ Q5 _
➢ 程序实现(任选一种):
! q$ N! B$ X6 L7 B$ |1,使用库函数(HAL):
: ~  U; S: S& w1 j$ t__HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
: P$ d/ h5 y3 r% R__HAL_FLASH_DATA_CACHE_ENABLE();$ s8 }: {/ i1 C: u: B! u) L! s# [  Y
+ g1 K/ D0 A( }  Q4 V7 V
2,寄存器操作:/ o7 ?% p' X# D% ]6 q) B
FLASH->ACR |= (1<<9);//将第9位置1
. P9 r. G. D( f+ ?" X/ c+ _FLASH->ACR |= (1<<10);//将第10位置1: ~  u2 Q7 q3 i8 p0 O

: y3 j* ?+ D8 L( C2 ?3 }
20200723203747815.png

4 i. |) x& h; H/ B! i9 J# b2 n2 v) d( m- Y, n: h8 Y
如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式
- k. q1 G, ?) n8 e# Z) A8 U' t. P, O$ o; x4 `" I9 k/ d
2.CCM SRAM
$ |; U1 B& p3 v2 G3 \
3 E" w+ `, K( m
20200723204415722.png
$ G( h* f, s* g' I3 K
/ t) M6 n2 ]8 w0 `
CCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。! m9 U, }$ c) y+ m. _; \* K4 \
% A) ^  q" ^# C, J1 `
3.CoreMark测试  u) ?; z+ _5 {, Z
• CoreMark是一项测试处理器性能的基准测试
; d% A2 q% @) U6 T• 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则5 a1 ~) i7 k) O4 E+ u: p' X2 f; q
• 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试
, @3 j) x5 T3 r* X7 R4 k• CoreMark的得分越高,意味着性能更高2 _2 p" `$ N/ j
• CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php
( Y7 o9 H( [' y; @. a
- Y% V: E4 d# ^7 K* _) K
20200723210125642.png
# [. w0 {  K) l

) x% D% ^' }1 w
20200723210416867.png
- f- X: l. b. Z

2 M6 }) `4 ^& u0 u比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。3 m8 t1 |2 j& K( x9 [. [  j& b# w8 `

& [0 d! X. T9 [! a) N& m! k# @4.浮点运算, Y8 a# A2 }0 L" N! p3 m+ p
能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。
# N. F0 w; j& @+ U% I
0 G/ G8 P% f5 R1 e/ A
20200723211234758.png
: c: F7 K2 ^0 g; c" o3 Q

; w( I* o$ z# |$ v% }8 K$ a4 ^注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算5 b4 P( @9 n* S  B$ X& a" x
' X; u8 n5 |" A; \7 s' h+ D1 @
2020072321171914.png

% Z# q) d0 @0 m( I2 H9 x  `- q& ^) t! ~( A- n! s
浮点运算实例:
( P1 k  K5 l% N+ O6 {一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。6 w! \& C' y$ ]& }+ t0 V# h  a% U
6 A2 R5 ?6 Q# O7 o1 C. H
浮点运算-FIR(滤波运算)
: p1 y# t8 t  t& _! U( u! k+ q在这里插入图片描述
% ?/ N9 Q0 r+ ~2 r  I5 X* E* y  v
  e: G% R! p+ q  Y$ K  F
20200723212510526.png

) T' K3 f* U: {. k2 v/ O9 D% r& ^2 E& H5 U% z
20200723213655602.png

4 B: E3 n+ v. f% \9 {# B; j# A
, R, a- T* D# B" k# F8 |' r# u先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!!
  W: z0 F+ I" Q/ I9 {8 Q2 V& p
2 I5 z8 X) B  O/ A& R- s) G# v! v& C* c; n- z5 ~
7 S4 T' j7 p) T% J3 v0 x6 [2 a
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版