
本帖最后由 eefishing 于 2019-5-28 13:02 编辑 : ?5 p9 v. j j! l, J 前言 STM32F7系列器件是首款基于ARM®Cortex®-M7的32位微控制器。利用ST的ART加速器™和L1缓存的优势,STM32F7系列器件实现了Cortex®-M7的最大理论性能。 基准测试分数稳步达到了1082 CoreMark和462 DMIPS,无论代码是通过嵌入式Flash存储器 执行,还是通过内部RAM或者外部存储器(SRAM、SDRAM或者Quad SPI Flash存储器) 执行。2 a3 c; @+ f# `( O2 [ STM32F7系列器件的高性能源自: • 强力的超标量流水线和DSP性能提供了一个具有低中断时延的快速实时响应9 w; o o* h5 r$ p9 A( |, \ • 对大容量外部存储的高效访问 • 适合复杂计算的高性能浮点运算能力 本应用笔记呈现了STM32F7的全面架构以及存储接口和特性,它们提供了更高的灵活度以实 现最佳的性能以及额外的代码和数据大小。它还提供了有助于提高系统性能和卸载CPU的多 主机架构。 本应用笔记同样提供了STM32F7系列器件在多种存储分区配置下(不同代码和数据位置)的 架构性能以及使能DMA的架构性能的软件演示。 本应用笔记随附X-CUBE-32F7PERF嵌入式软件包,其中包括两个项目: • Stm32f7_performances项目的目的是演示STM32F7架构在不同配置下的性能,即使用ART accelerator™和高速缓存时代码的执行和数据在不同存储空间中的存储。3 b0 y7 M: T3 ] • Stm32f7_performances_DMAs目的是演示多主机配置下的架构性能 : d. f" R' x3 W 每个项目都是采用以下可用板子完成:STM32756G-EVAL,STM32F769I-EVAL和STM32F723EDISCO板。7 O" N& z) `! c8 @ , A5 ]7 q! \/ @. s+ J6 h" ~ 1 STM32F7系列的系统架构概览 1.1 Cortex®-M7内核6 o' o$ \* e% c/ m STM32F7系列器件基于高性能的ARM®Cortex®-M7 32位RISC内核,工作频率高达216 MHz。Cortex®-M7内核具有高性能浮点单元(FPU)。该内核可实现单精度浮点单元或双精度浮点 单元(取决于STM32F7系列器件),支持所有ARM®单精度和双精度数据处理指令和数据类型。它还具有一组DSP指令和提高应用安全性的一个存储器保护单元(MPU)。Cortex®-M4到Cortex®-M7的向前兼容性允许为Cortex®-M4编译的二进制数直接在®-M7上运行。Cortex®-M7的特性是具有分支预测和双指令执行的6/7-级超标量流水线。分支预测允许分 支解析以预测下一个分支,因此将环路消耗的周期数从每个环路4和3个周期减少为1个周 期。双指令的特征是允许内核同时执行两条指令,并且与指令的顺序无关,由此来增加指令吞吐率。 1 n' m7 a! |3 H- v- M F! x/ V: f 1.2 Cortex®-M7系统缓存 这些器件嵌入了Cortex®-M7,具有1级缓存(L1-cache),该缓存可分为两个独立的高速缓存:数据缓存(D-cache)和指令缓存 (I-cache),支持Harvard架构,可实现最佳性能。这些缓存使得即使在高频率下也可以达 到零等待状态。 默认情况下,指令和数据缓存是禁用的。ARM CMSIS库提供了两个使能数据和指令缓存的函数: • SCB_EnableICache()用于使能指令缓存2 U) F, U0 K! E9 @# B" A • SCB_EnableDCache()用于使能数据缓存: I+ U* Q" ]1 Q. s5 ~ 更多关于怎样使能和停用缓存的信息,请参考“ARMv7-M架构参考手册”。$ ]+ v4 |3 p3 } 有关STM32F7系列上L1-cache使用的更多详细信息,还请参考STM32F7系列产品上的1级 缓存应用笔记(AN4839)。4 Q* T) n& j2 t4 z4 ^8 H7 u 表 1总结了STM32F7系列中每个器件的缓存空间大小。4 r* i; i! U- S5 K1 e' m 表1. STM32F7系列器件缓存空间大小1 x+ {* V) j/ e) x$ [" u ![]() ........... 0 P% q2 n" g& L$ A0 |: h. ` 想了解更多,请下载原文阅读 |
收藏 |
【实战经验】基于STM32F7的网络时间同步例程
STM32硬件结构学习
STM32中BOOT的作用
【STM32F769I-DISC1】开发板刷入Micropython并完成点灯、读取内部温度测试
【STM32F769I-DISC1】测评01:创建STM32cube IDE 工程,点个灯
【STM32F769】创建deepseek本地服务,并实现http请求
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
coremark移植到STM32F769I-DISCO开发板的两种方法
【GUI板免费申请活动】【圣诞GUI】使用F746-DISO基于TouchGFX的圣诞树
刘氓兔的杂谈【001】-片上USB 高速PHY