描述
本文将介绍设计、挑战以及与 Cortex-M 处理器和 CoreSight SoC 的使用相关的内容。
多核设计即将进入 MCU
一些应用程序可以从多核设计中受益
-
更高的性能/吞吐量
-
将实时和非实时任务结合在一起。
-
实时数据引擎+通信协议/GUI(例如NXP LPC4300)
-
实时控制任务 + 应用处理器(例如 Freescale Vybrid)
-
应用处理器 + 子系统 (OMAP)
-
出于可靠性原因——将关键核心操作与具有“更高风险”的任务隔离开来。这也可以促进认证。
多处理器系统挑战
记忆系统
-
AMBA® 旨在支持多个总线主控,但是……
-
内存带宽和总线带宽有限
低功耗
-
Cortex-M 处理器旨在支持各种睡眠模式
-
未使用的处理器可以进入睡眠模式甚至断电
-
总线系统和共享组件的时钟门控是可能的
-
需要考虑来自调试器的访问
调试
-
CoreSight 调试架构允许共享调试和跟踪连接
-
各种走线总线宽度、时钟域
内存 – 程序 ROM / 闪存
-
当前的 Cortex-M 系列处理器没有缓存*
-
频繁的指令提取
-
相对于 CPU 时钟速度,闪存通常较慢
-
总线是32位的,很多指令都是16位的
-
Cortex-M3 和 Cortex-M4 有一个指令缓冲区(3 字)
-
可以添加系统级缓存
-
额外的内存系统设计技巧
闪存访问加速器
-
64 位或 128 位闪存
-
预取单元
-
分支目标缓存
-
例如 STM32 F2/F4 有
-
艺术加速器
简单双核设计中的 ROM 共享
简单的程序 ROM 共享
获得 78% 的理想性能(Dhrystone 2.1,在 Verilog 模拟中)
修改仲裁
从任一核心获取文字,性能略有提高 78.9%
编辑:hfy
打开APP阅读更多精彩内容