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

【中文文档】AN4667_STM32F7系列的系统架构和性能

[复制链接]
eefishing 发布时间:2019-5-28 13:00
本帖最后由 eefishing 于 2019-5-28 13:02 编辑
' q* H: s- g* K# Y/ l5 D: c' A; Q) J7 ]: T
前言1 ~: G# T+ y. [
STM32F7系列器件是首款基于ARM®Cortex®-M7的32位微控制器。利用ST的ART加速器™和L1缓存的优势,STM32F7系列器件实现了Cortex®-M7的最大理论性能。
9 g3 I9 s! I1 P# b& A& P基准测试分数稳步达到了1082 CoreMark和462 DMIPS,无论代码是通过嵌入式Flash存储器 执行,还是通过内部RAM或者外部存储器(SRAM、SDRAM或者Quad SPI Flash存储器) 执行。
+ ]3 j6 H2 A8 l8 B' dSTM32F7系列器件的高性能源自:: q( F; e9 H+ {
• 强力的超标量流水线和DSP性能提供了一个具有低中断时延的快速实时响应
; u0 }: L2 Y! x1 ^+ s• 对大容量外部存储的高效访问
: j* f0 ^- s3 }9 U- G+ |; w2 ?• 适合复杂计算的高性能浮点运算能力
% y) X$ P+ I1 q- R$ g* `9 O2 ?+ G) q本应用笔记呈现了STM32F7的全面架构以及存储接口和特性,它们提供了更高的灵活度以实 现最佳的性能以及额外的代码和数据大小。它还提供了有助于提高系统性能和卸载CPU的多 主机架构。
3 ]' E. n. \; E5 p+ R) ~. Y本应用笔记同样提供了STM32F7系列器件在多种存储分区配置下(不同代码和数据位置)的 架构性能以及使能DMA的架构性能的软件演示。/ |2 `  X/ O# x" E
本应用笔记随附X-CUBE-32F7PERF嵌入式软件包,其中包括两个项目:
9 g# Q3 |2 `; t& K- C* r) J) U• Stm32f7_performances项目的目的是演示STM32F7架构在不同配置下的性能,即使用ART accelerator™和高速缓存时代码的执行和数据在不同存储空间中的存储。
" B  ^$ }  s+ p4 A• Stm32f7_performances_DMAs目的是演示多主机配置下的架构性能0 \+ G% g8 Z* K5 x( _$ F
, U7 T3 U/ K$ h3 {
每个项目都是采用以下可用板子完成:STM32756G-EVAL,STM32F769I-EVAL和STM32F723EDISCO板。
1 J0 x# l( \" C! \/ s. o+ O; |
+ |/ y- x1 K& S4 l: s
1 STM32F7系列的系统架构概览
3 G- P8 E+ h" Y( e. c  A1.1 Cortex®-M7内核
9 X5 g. r3 n& W8 S* @( fSTM32F7系列器件基于高性能的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个周 期。双指令的特征是允许内核同时执行两条指令,并且与指令的顺序无关,由此来增加指令吞吐率。
2 p( a) f3 c8 T; `8 g3 u
+ N. B2 o5 q( ^! ?( J' j1.2 Cortex®-M7系统缓存
9 p6 }' R1 G& s! J& @- [, I" v 这些器件嵌入了Cortex®-M7,具有1级缓存(L1-cache),该缓存可分为两个独立的高速缓存:数据缓存(D-cache)和指令缓存 (I-cache),支持Harvard架构,可实现最佳性能。这些缓存使得即使在高频率下也可以达 到零等待状态。; M/ m2 ^4 j0 t# O
默认情况下,指令和数据缓存是禁用的。ARM CMSIS库提供了两个使能数据和指令缓存的函数:
' _! @0 c2 ?5 N  Q• SCB_EnableICache()用于使能指令缓存
% u8 x: S2 I" P" J- n" P, p$ X; d• SCB_EnableDCache()用于使能数据缓存
/ s# q; g6 Q6 A" e' W) m2 U 更多关于怎样使能和停用缓存的信息,请参考“ARMv7-M架构参考手册”。% t4 [  d4 G/ N, z& Y
有关STM32F7系列上L1-cache使用的更多详细信息,还请参考STM32F7系列产品上的1级 缓存应用笔记(AN4839)。8 i, M: m- Q$ \) V" Z
表 1总结了STM32F7系列中每个器件的缓存空间大小。
" ?" @  b# v( [* _5 t
表1. STM32F7系列器件缓存空间大小
% m/ O3 Q  ?$ u) \" S# z9 Q 2.png

% s# W7 A$ p" M
$ u- q/ \* T) @5 R3 }7 N0 ~
...........

8 E- n' ~+ `  }4 F4 k1 U
想了解更多,请下载原文阅读
赞 收藏 1 评论1 发布时间:2019-5-28 13:00

举报

1个回答
Kevin_G 回答时间:2019-5-28 17:20:05
收藏

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版