STM32G4的内核性能

1.ART加速

STM32G4的内核性能_第1张图片
ART在Flash之前,ART加速可以提高Flash的读取运行速度。

➢ 程序实现(任选一种):
1,使用库函数(HAL):
__HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
__HAL_FLASH_DATA_CACHE_ENABLE();

2,寄存器操作:
FLASH->ACR |= (1<<9);//将第9位置1
FLASH->ACR |= (1<<10);//将第10位置1

STM32G4的内核性能_第2张图片
如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式

2.CCM SRAMSTM32G4的内核性能_第3张图片

CCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。

3.CoreMark测试

• CoreMark是一项测试处理器性能的基准测试
• 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则
• 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试
• CoreMark的得分越高,意味着性能更高
• CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php。STM32G4的内核性能_第4张图片
STM32G4的内核性能_第5张图片
比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。

4.浮点运算

能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。
STM32G4的内核性能_第6张图片
注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算
STM32G4的内核性能_第7张图片
浮点运算实例:
一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。

浮点运算-FIR(滤波运算)
在这里插入图片描述
STM32G4的内核性能_第8张图片
STM32G4的内核性能_第9张图片
先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!!

你可能感兴趣的:(STM32G4学习记录)